Neural Network-based Recommender Method and System

ABSTRACT

A neural network-based recommender method and system applies computer-implemented neural networks to match information within computer-implemented content objects that contain, for example, text and/or images. The matching of the information is combined with an evaluation of the computer-implemented objects based upon user behaviors to generate computer-implemented topics. Affinities among the topics or among users and the topics are generated based on the matching of the information and the evaluation of the computer-implemented objects. Recommendations are generated for delivery to users based upon the generated topics and affinities. The topics and/or affinities may be based upon inferences of expertise levels.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a continuation of U.S. patent applicationSer. No. 15/249,359, filed on Aug. 27, 2016, which is a continuation ofU.S. patent application Ser. No. 14/856,654, filed on Sep. 17, 2015, nowU.S. Pat. No. 9,454,730, which is a continuation of U.S. patentapplication Ser. No. 14/462,788, filed on Aug. 19, 2014, now U.S. Pat.No. 9,171,263, which is a continuation of U.S. patent application Ser.No. 13/555,941, filed on Jul. 23, 2012, now U.S. Pat. No. 8,843,433,which is a continuation-in-part of U.S. patent application Ser. No.13/295,414, filed on Nov. 14, 2011, now U.S. Pat. No. 8,600,926, whichis a continuation-in-part of U.S. patent application Ser. No.13/268,035, filed on Oct. 7, 2011, now U.S. Pat. No. 8,650,149, whichclaims the benefit of U.S. Provisional Patent Application No.61/469,052, filed Mar. 29, 2011, U.S. Provisional Patent Application No.61/496,025, filed Jun. 12, 2011, and U.S. Provisional Patent ApplicationNo. 61/513,920, filed Aug. 1, 2011, all of which are hereby incorporatedby reference as if set forth herein in their entirety.

FIELD OF THE INVENTION

This invention relates to systems and methods for incorporating anadaptive layer of auto-learning capabilities within one or morecomputer-implemented systems.

BACKGROUND OF THE INVENTION

Existing computer-implemented recommender systems can providepersonalized recommendations basis expected interests of recommendationrecipients derived from behavioral history with respect to system use.Existing search engines can index the contents of documents and retrieveinformation based on search terms provided by users. However, theseapproaches operating independently are inadequate in some cases fordelivering the most useful information to computer systems users. Thusthere is a need for a system and method that beneficially integrates thetwo approaches.

SUMMARY OF THE INVENTION

In accordance with the embodiments described herein, a system and methodfor generating personalized recommendations based, at least in part, oncombining behavioral-based indexing and contents-based indexing isdisclosed. The interest levels and/or expertise levels of users may beinferred from behavioral information during the behavioral-basedindexing of one or more computer-implemented systems. The contents ofobjects of one or more computer-implemented systems may be indexed, by,for example, a search engine, into vectors of object informationalelements and associated relevancy values. Topical areas of interestand/or expertise associated with users are mapped to object informationelements. An evaluation of interest and/or expertise levels for themapped topics versus the relevancy values of the informational elementsof objects provides a basis for selecting the objects to be delivered tothe user.

Other features and embodiments will become apparent from the followingdescription, from the drawings, and from the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of an adaptive system, according to someembodiments;

FIGS. 2A, 2B, and 2C are block diagrams of the structural aspect, thecontent aspect, and the usage aspect of the adaptive system of FIG. 1,according to some embodiments;

FIG. 3 is a block diagram of a fuzzy content network-based system,according to some embodiments;

FIGS. 4A, 4B, and 4C are block diagrams of an object, a topic object,and a content object, according to some embodiments;

FIG. 5A is a block diagram of a fuzzy content network-based adaptivesystem, according to some embodiments;

FIG. 5B is a block diagram of the transformation of originating systemstructures to a fuzzy network-based adaptive system, according to someembodiments;

FIG. 5C is a block diagram of a contextualized recommendation sourcedfrom originating systems, according to some embodiments;

FIG. 5D is a block diagram of in-context recommendations sourced frombehaviorally indexed and/or contents-indexed objects given an objectcontext, according to some embodiments;

FIG. 5E is a block diagram of in-context recommendations sourced frombehaviorally indexed and/or contents-indexed objects given a searchcontext, according to some embodiments;

FIG. 5F is a block diagram of out-of-context recommendations sourcedfrom behaviorally indexed and/or contents-indexed objects, according tosome embodiments;

FIG. 5G is a block diagram of a learning layer application programminginterface, according to some embodiments;

FIG. 6 is a block diagram of a computer-based system that enablesadaptive communications, according to some embodiments;

FIG. 7 is a diagram illustrating user communities and associatedrelationships, according to some embodiments;

FIG. 8 is a block diagram of usage behavior processing functions of thecomputer-based system of FIG. 6, according to some embodiments;

FIG. 9 is a flow diagram of an adaptive personality process, accordingto some embodiments;

FIG. 10 is a flow diagram of a self-aware personality process, accordingto some embodiments;

FIG. 11 is a diagram of exemplary data structures associated with theadaptive personality process and the self-aware personality process ofFIGS. 9 and 10, according to some embodiments;

FIG. 12 is a block diagram of major functions of an adaptive personalityand self-aware personality system, according to some embodiments; and

FIG. 13 is a diagram of various computing device topologies, accordingto some embodiments.

DETAILED DESCRIPTION

In the following description, numerous details are set forth to providean understanding of the present invention. However, it will beunderstood by those skilled in the art that the present invention may bepracticed without these details and that numerous variations ormodifications from the described embodiments may be possible.

A method and system for transforming one or more non-adaptive orinadequately adaptive systems to an adaptive system are disclosed. Insome embodiments, originating fuzzy or non-fuzzy network informationstructures are transformed to fuzzy network structures so as to enable agreater capacity for adaptation, while retaining a degree of contextualcorrespondence. The term “fuzzy network” as used herein is defined as acomputer-implemented plurality of nodes, with relationships among thenodes that have affinities that are by degree. The nodes of a fuzzynetwork may comprise any type of computer-implemented information. Incontrast, non-fuzzy networks, including hierarchies, comprise aplurality of nodes, with relationships among the nodes that are binary:that is, either the relationships between any two nodes exist or do notexist. A non-fuzzy network can therefore be considered just aparticularly constrained form of a fuzzy network.

In some embodiments, knowledge discovery and expertise discoveryfunctions are applied to the original non-fuzzy network and/or thetransformed structure. In some embodiments, additional “learning layer”functions may be applied to the originating and/or transformedstructures to enable additional or enhanced adaptive features, includingapplying functions to enhance beneficial serendipity with regard topersonalized recommendations.

Adaptive System

In some embodiments, the present invention may apply the methods andsystems of an adaptive system as depicted by FIG. 1. FIG. 1 is ageneralized depiction of an adaptive system 100, according to someembodiments. The adaptive system 100 includes three aspects: astructural aspect 210, a usage aspect 220, and a content aspect 230. Oneor more users 200 interact with the adaptive system 100. An adaptiverecommendations function 240 may produce adaptive recommendations 250based upon the user interactions, and the recommendations may bedelivered to the user 200 or applied to the adaptive system 100.

As used herein, one or more users 200 may be a single user or multipleusers. As shown in FIG. 1, the one or more users 200 may receive theadaptive recommendations 250. Non-users 260 of the adaptive system 100may also receive adaptive recommendations 250 from the adaptive system100.

A user 200 may be a human entity, a computer system, or a secondadaptive system (distinct from the adaptive system 100) that interactswith, or otherwise uses the adaptive system. The one or more users 200may therefore include non-human “users” that interact with the adaptivesystem 100. In particular, one or more other adaptive systems may serveas virtual system “users.” Although not essential, these other adaptivesystems may operate in accordance with the architecture of the adaptivesystem 100. Thus, multiple adaptive systems may be mutual users of oneanother.

It should be understood that the structural aspect 210, the contentaspect 230, the usage aspect 220, and the recommendations function 240of the adaptive system 100, and elements of each, may be containedwithin one processor-based device, or distributed among multipleprocessor-based devices, and wherein one or more of the processor-baseddevices may be portable. Furthermore, in some embodiments one or morenon-adaptive systems may be transformed to one or more adaptive systems100 by means of operatively integrating the usage aspect 220 and therecommendations function 240 with the one or more non-adaptive systems.In some embodiments the structural aspect 210 of a non-adaptive systemmay be transformed to a fuzzy network-based structural aspect 210 toprovide a greater capacity for adaptation.

The term “computer system” or the term “system,” without furtherqualification, as used herein, will be understood to mean either anon-adaptive or an adaptive system. Likewise, the terms “systemstructure” or “system content,” as used herein, will be understood torefer to the structural aspect 210 and the content aspect 230,respectively, whether associated with a non-adaptive system or theadaptive system 100. The term “system structural subset” or “structuralsubset,” as used herein, will be understood to mean a portion or subsetof the elements of the structural aspect 210 of a system.

Structural Aspect

The structural aspect 210 of the adaptive system 100 is depicted in theblock diagram of FIG. 2A. The structural aspect 210 comprises acollection of system objects 212 that are part of the adaptive system100, as well as the relationships among the objects 214, if they exist.The relationships among objects 214 may be persistent across usersessions, or may be transient in nature. The objects 212 may include orreference items of content, such as text, graphics, audio, video,interactive content, or embody any other type or item ofcomputer-implemented information. The objects 212 may also includereferences, such as pointers, to content. Computer applications,executable code, or references to computer applications may also bestored as objects 212 in the adaptive system 100. The content of theobjects 212 is known herein as information 232. The information 232,though part of the object 214, is also considered part of the contentaspect 230, as depicted in FIG. 2B, and described below.

The objects 212 may be managed in a relational database, or may bemaintained in structures such as, but not limited to, flat files, linkedlists, inverted lists, hypertext networks, or object-oriented databases.The objects 212 may include meta-information 234 associated with theinformation 232 contained within, or referenced by the objects 212.

As an example, in some embodiments, the World-wide Web could beconsidered a structural aspect, wherein web pages constitute the objectsof the structural aspect and links between web pages constitute therelationships among the objects. Alternatively, or in addition, in someembodiments, the structural aspect could be composed of objectsassociated with an object-oriented programming language, and therelationships between the objects associated with the protocols andmethods associated with interaction and communication among the objectsin accordance with the object-oriented programming language.

The one or more users 200 of the adaptive system 100 may be explicitlyrepresented as objects 212 within the system 100, therefore becomingdirectly incorporated within the structural aspect 210. Therelationships among objects 214 may be arranged in a hierarchicalstructure, a relational structure (e.g. according to a relationaldatabase structure), or according to a network structure.

Content Aspect

The content aspect 230 of the adaptive system 100 is depicted in theblock diagram of FIG. 2B. The content aspect 230 comprises theinformation 232 contained in, or referenced by the objects 212 that arepart of the structural aspect 210. The content aspect 230 of the objects212 may include text, graphics, audio, video, and interactive forms ofcontent, such as applets, tutorials, courses, demonstrations, modules,or sections of executable code or computer programs. The one or moreusers 200 interact with the content aspect 230.

The content aspect 230 may be updated based on the usage aspect 220, aswell as associated metrics. To achieve this, the adaptive system 100 mayuse or access information from other systems. Such systems may include,but are not limited to, other computer systems, other networks, such asthe World Wide Web, multiple computers within an organization, otheradaptive systems, or other adaptive recombinant systems. In this manner,the content aspect 230 benefits from usage occurring in otherenvironments.

Usage Aspect

The usage aspect 220 of the adaptive system 100 is depicted in the blockdiagram of FIG. 2C, although it should be understood that the usageaspect 220 may also exist independently of adaptive system 100 in someembodiments. The usage aspect 220 denotes captured usage information202, further identified as usage behaviors 270, and usage behaviorpre-processing 204. The usage aspect 220 thus reflects the tracking,storing, categorization, and clustering of the use and associated usagebehaviors of the one or more users 200 interacting with, or beingmonitored by, the adaptive system 100. Applying usage behavioralinformation 202, including, but not limited to the usage behavioralinformation described by Table 1, to generate relationships oraffinities 214 among objects 212 may be termed “behavioral indexing”herein.

The captured usage information 202, known also as system usage or systemuse 202, may include any user behavior 920 exhibited by the one or moreusers 200 while using the system. The adaptive system 100 may track andstore user key strokes and mouse clicks, for example, as well as thetime period in which these interactions occurred (e.g., timestamps), ascaptured usage information 202. From this captured usage information202, the adaptive system 100 identifies usage behaviors 270 of the oneor more users 200 (e.g., a web page access or email transmission).Finally, the usage aspect 220 includes usage-behavior pre-processing, inwhich usage behavior categories 249, usage behavior clusters 247, andusage behavioral patterns 248 are formulated for subsequent processingof the usage behaviors 270 by the adaptive system 100. Non-limitingexamples of the usage behaviors 270 that may be processed by theadaptive system 100, as well as usage behavior categories 249 designatedby the adaptive system 100, are listed in Table 1, and described in moredetail, below.

The usage behavior categories 249, usage behaviors clusters 247, andusage behavior patterns 248 may be interpreted with respect to a singleuser 200, or to multiple users 200; the multiple users may be describedherein as a community, an affinity group, or a user segment. These termsare used interchangeably herein. A community is a collection of one ormore users, and may include what is commonly referred to as a “communityof interest.” A sub-community is also a collection of one or more users,in which members of the sub-community include a portion of the users ina previously defined community. Communities, affinity groups, and usersegments are described in more detail, below.

Usage behavior categories 249 include types of usage behaviors 270, suchas accesses, referrals to other users, collaboration with other users,and so on. These categories and more are included in Table 1, below.Usage behavior clusters 247 are groupings of one or more usage behaviors270, either within a particular usage behavior category 249 or acrosstwo or more usage categories. The usage behavior pre-processing 204 mayalso determine new clusterings of user behaviors 270 in previouslyundefined usage behavior categories 249, across categories, or among newcommunities. Usage behavior patterns 248, also known as “usagebehavioral patterns” or “behavioral patterns,” are also groupings ofusage behaviors 270 across usage behavior categories 249. Usage behaviorpatterns 248 are generated from one or more filtered clusters ofcaptured usage information 202.

The usage behavior patterns 248 may also capture and organize capturedusage information 202 to retain temporal information associated withusage behaviors 270. Such temporal information may include the durationor timing of the usage behaviors 270, such as those associated withreading or writing of written or graphical material, oralcommunications, including listening and talking, and/or monitoredbehaviors such as physiological responses, physical location, andenvironmental conditions local to the user 200. The usage behavioralpatterns 248 may include segmentations and categorizations of usagebehaviors 270 corresponding to a single user of the one or more users200 or according to multiple users 200 (e.g., communities or affinitygroups). The communities or affinity groups may be previouslyestablished, or may be generated during usage behavior pre-processing204 based on inferred usage behavior affinities or clustering. Usagebehaviors 270 may also be derived from the use or explicit preferences252 associated with other adaptive or non-adaptive systems.

Adaptive Recommendations

As shown in FIG. 1, the adaptive system 100 generates adaptiverecommendations 250 using the adaptive recommendations function 240. Theadaptive recommendations 250, or suggestions, enable users to moreeffectively use and/or navigate the adaptive system 100.

The adaptive recommendations 250 are presented as structural subsets ofthe structural aspect 210, which may comprise an item of content,multiple items of content, a representation of one or more users, and/ora user activity or stream of activities. The recommended content oractivities may include information generated automatically by aprocessor-based system or device, such as, for example, by a processcontrol device. A recommendation may comprise a spatial or temporalsequence of objects. The adaptive recommendations 250 may be in thecontext of a currently conducted activity of the system 100, a currentposition while navigating the structural aspect 210, a currentlyaccessed object 212 or information 232, or a communication with anotheruser 200 or another system. The adaptive recommendations 250 may also bein the context of a historical path of executed system activities,accessed objects 212 or information 232, or communications during aspecific user session or across user sessions. The adaptiverecommendations 250 may be without context of a current activity,currently accessed object 212, current session path, or historicalsession paths. Adaptive recommendations 250 may also be generated inresponse to direct user requests or queries, including search requests.Such user requests may be in the context of a current system navigation,access or activity, or may be outside of any such context and therecommended content sourced from one or more systems. The adaptiverecommendations 250 may comprise advertising or sponsored content. Theadaptive recommendations 250 may be delivered through anycomputer-implemented means, including, but not limited to delivery modesin which the recommendation recipient 200, 260 can read and/or listen tothe recommendation 250.

Fuzzy Content Network

In some embodiments, the structural aspect 210 of the adaptive system100, comprises a specific type of fuzzy network, a fuzzy contentnetwork. A fuzzy content network 700 is depicted in FIG. 3. The fuzzycontent network 700 may include multiple content sub-networks, asillustrated by the content sub-networks 700 a, 700 b, and 700 c, andfuzzy content network 700 includes “content,” “data,” or “information,”packaged in objects 710. Details about how the object works internallymay be hidden. In FIG. 4A, for example, the object 710 includesmeta-information 712 and information 714. The object 710 thusencapsulates information 714.

Another benefit to organizing information as objects is known asinheritance. The encapsulation of FIG. 4A, for example, may formdiscrete object classes, with particular characteristics ascribed toeach object class. A newly defined object class may inherit some of thecharacteristics of a parent class. Both encapsulation and inheritanceenable a rich set of relationships between objects that may beeffectively managed as the number of individual objects and associatedobject classes grows.

In the content network 700, the objects 710 may be either topic objects710 t or content objects 710 c, as depicted in FIGS. 4B and 4C,respectively. Topic objects 710 t are encapsulations that containmeta-information 712 t and relationships to other objects (not shown),but do not contain an embedded pointer to reference associatedinformation. The topic object 710 t thus essentially operates as a“label” to a class of information. The topic object 710 therefore justrefers to “itself” and the network of relationships it has with otherobjects 710. People may be represented as topic objects or contentobjects in accordance with some embodiments.

Content objects 710 c, as shown in FIG. 4C, are encapsulations thatoptionally contain meta-information 712 c and relationships to otherobjects 71 (not shown). Additionally, content objects 710 c may includeeither an embedded pointer to information or the information 714 itself(hereinafter, “information 714”).

The referenced information 714 may include files, text, documents,articles, images, audio, video, multi-media, software applications andelectronic or magnetic media or signals. Where the content object 714 csupplies a pointer to information, the pointer may be a memory address.Where the content network 700 encapsulates information on the Internet,the pointer may be a Uniform Resource Locator (URL).

The meta-information 712 supplies a summary or abstract of the object710. So, for example, the meta-information 712 t for the topic object710 t may include a high-level description of the topic being managed.Examples of meta-information 712 t include a title, a sub-title, one ormore descriptions of the topic provided at different levels of detail,the publisher of the topic meta-information, the date the topic object710 t was created, and subjective attributes such as the quality, andattributes based on user feedback associated with the referencedinformation. Meta-information may also include a pointer to referencedinformation, such as a uniform resource locator (URL), in oneembodiment.

The meta-information 712 c for the content object 710 c may includerelevant keywords associated with the information 714, a summary of theinformation 714, and so on. The meta-information 712 c may supply a“first look” at the objects 710 c. The meta-information 712 c mayinclude a title, a sub-title, a description of the information 714, theauthor of the information 714, the publisher of the information 714, thepublisher of the meta-information 712 c, and the date the content object710 c was created, as examples. As with the topic object 710 t,meta-information for the content object 710 c may also include apointer.

In FIG. 3, the content sub-network 700 a is expanded, such that bothcontent objects 710 c and topic objects 710 t are visible. The variousobjects 710 of the content network 700 are interrelated by degrees usingrelationships 716 (unidirectional and bidirectional arrows) andrelationship indicators 718 (values). Each object 710 may be related toany other object 710, and may be related by a relationship indicator718, as shown. Thus, while information 714 is encapsulated in theobjects 710, the information 714 is also interrelated to otherinformation 714 by a degree manifested by the relationship indicators718.

The relationship indicator 718 is a type of affinity comprising a valueassociated with a relationship 716, the value typically comprising anumerical indicator of the relationship between objects 710. Thus, forexample, the relationship indicator 718 may be normalized to between 0and 1, inclusive, where 0 indicates no relationship, and 1 indicates asubset or maximum relationship. Or, the relationship indicators 718 maybe expressed using subjective descriptors that depict the “quality” ofthe relationship. For example, subjective descriptors “high,” “medium,”and “low” may indicate a relationship between two objects 710.

The relationship 716 between objects 710 may be bi-directional, asindicated by the double-pointing arrows. Each double-pointing arrowincludes two relationship indicators 718, one for each “direction” ofthe relationships between the objects 710.

As FIG. 3 indicates, the relationships 716 between any two objects 710need not be symmetrical. That is, topic object 710 t 1 has arelationship of “0.3” with content object 710 c 2, while content object710 c 2 has a relationship of “0.5” with topic object 710 t 1.Furthermore, the relationships 716 need not be bi-directional—they maybe in one direction only. This could be designated by a directed arrow,or by simply setting one relationship indicator 718 of a bi-directionalarrow to “0,” the null relationship value.

The content networks 700A, 700B, 700C may be related to one anotherusing relationships of multiple types and associated relationshipindicators 718. For example, in FIG. 3, content sub-network 700 a isrelated to content sub-network 700 b and content sub-network 700 c,using relationships of multiple types and associated relationshipindicators 718. Likewise, content sub-network 700 bi s related tocontent sub-network 700 a and content sub-network 700 c usingrelationships of multiple types and associated relationship indicators718.

Individual content and topic objects 710 within a selected contentsub-network 700 a may be related to individual content and topic objects710 in another content sub-network 700 b. Further, multiple sets ofrelationships of multiple types and associated relationship indicators718 may be defined between two objects 710.

For example, a first set of relationships 716 and associatedrelationship indicators 718 may be used for a first purpose or beavailable to a first set of users while a second set of relationships716 and associated relationship indicators 718 may be used for a secondpurpose or available to a second set of users. For example, in FIG. 3,topic object 710 t 1 is bi-directionally related to topic object 710 t2, not once, but twice, as indicated by the two double arrows. Anindefinite number of relationships 716 and associated relationshipindicators 718 may therefore exist between any two objects 710 in thefuzzy content network 700. The multiple relationships 716 may correspondto distinct relationship types. For example, a relationship type mightbe the degree an object 710 supports the thesis of a second object 710,while another relationship type might be the degree an object 710disconfirms the thesis of a second object 710. The content network 700may thus be customized for various purposes and accessible to differentuser groups in distinct ways simultaneously.

The relationships among objects 710 in the content network 700, as wellas the relationships between content networks 700 a and 700 b, may bemodeled after fuzzy set theory. Each object 710, for example, may beconsidered a fuzzy set with respect to all other objects 710, which arealso considered fuzzy sets. The relationships among objects 710 are thedegrees to which each object 710 belongs to the fuzzy set represented byany other object 710. Although not essential, every object 710 in thecontent network 700 may conceivably have a relationship with every otherobject 710.

The topic objects 710 t may encompass, and may be labels for, very broadfuzzy sets of the content network 700. The topic objects 710 t thus maybe labels for the fuzzy set, and the fuzzy set may include relationshipsto other topic objects 710 t as well as related content objects 710 c.Content objects 710 c, in contrast, typically refer to a narrower domainof information in the content network 700.

The adaptive system 100 of FIG. 1 may operate in association with afuzzy content network environment, such as the one depicted in FIG. 3.In FIG. 5A, an adaptive system 100D includes a structural aspect 210Dthat is a fuzzy content network. Thus, adaptive recommendations 250generated by the adaptive system 100D are also structural subsets thatmay themselves comprise fuzzy content networks.

In some embodiments a computer-implemented fuzzy network or fuzzycontent network 700 may be represented in the form of vectors ormatrices in a computer-implemented system, and where the vectors ormatrices may be further represented by data structures such asrelational databases. For example, the relationship indicators 718 oraffinities among topics may be represented as topic-to-topic affinityvectors (“TTAV”). The relationship indicators 718 or affinities amongcontent objects may be represented as content-to-content affinityvectors (“CCAV”). The relationship indicators 718 or affinities amongcontent object and topic objects may be represented as content-to-topicaffinity vectors (“CTAV”), which is also sometimes referred to anobject-to-topic affinity vector (“OTAV”) herein.

Further, affinity vectors between a user 200 and objects of a fuzzynetwork or fuzzy content network 700 may be generated. For example, amember (i.e., user)-to-topic affinity vector (“MTAV”) may be generatedin accordance with some embodiments (and an exemplary process forgenerating an MTAV is provided elsewhere herein). In some embodiments anaffinity vector (“MMAV”) between a specific user and other users 200 maybe generated derivatively from MTAVs and/or other affinity vectors (andan exemplary process for generating an MMAV is provided elsewhereherein). In some embodiments a member-topic expertise vector (MTEV) isgenerated, which is defined as a vector of inferred member or user 200expertise level values, wherein each value corresponds to an expertiselevel corresponding to a topic.

One or more of object 212 relationship mappings 214 represented byTTAVs, CCAVs, CTAVs (or OTAVs), MTAVs or MTEVs may be the result of thebehavioral indexing of a structural aspect 210 (that is not necessarilyfuzzy network-based) in conjunction with a usage aspect 220 and anadaptive recommendations function 240.

In some embodiments, indexes generated from information 232 withinobjects 212 may be applied to populate an MTAV and/or MTEV, and/or tomodify an existing MTAV and/or MTEV. Computer-implemented algorithms maybe applied to index objects 212 such that for each object 212 a vectoror vectors comprising one or more constituent elements, such as words,phrases, or concepts, is generated, along with a numerical weight orvalue corresponding to each constituent element, wherein each of thecorresponding weights is indicative of the inferred importance orrelevance of each of the associated constituent elements with respect tothe associated indexed object 212. By way of a non-limiting example,such a vector or vectors may be generated by a search engine functionduring the process of indexing the contents 232 of an object 212. Thisvector of constituent elements and associated weights or values,hereinafter called an “object contents vector,” or “OCV,” may begenerated using pattern detection and/or statistical techniques such asBayesian analytic approaches and/or or other statistical patternmatching and/or statistical learning techniques, as are known by thoseskilled in the art. For example, word or phrase frequencies within anobject 212 comprising a document will typically influence the OCV, asmay the position of words or phrases within an object 212. These objectcontents-indexing techniques may further apply more general linguisticdata such as word and phrase frequencies for a given language, synonymtables, and/or other lexicon-based information in generating OCVs.

In some embodiments, a system may track a user's 200 behaviors 920,including, but not limited to, the behaviors described by Table 1, andmap them to the OCVs of a collection of objects 212. Constituentelements of the OCVs of objects that are inferred from the trackedbehaviors 920 to be of particular interest to one or more users 200 orto have some other inferred quality of interest are then identified.These inferences may be based on the relative number of occurrences ofconstituent elements among objects that are inferred to be interest to auser, as well as in accordance with the weights or values associatedwith these constituent elements and their associated OCVs. For example,everything else being equal, constituent elements (or synonyms) of OCVsthat occur frequently among the objects that are inferred to be of highinterest to a user and that have relatively high relevance weightings inthe OCVs are favored for identification.

These one or more identified constituent elements may then betransformed via, for example, application of appropriate lexicon-basedinformation and techniques into, or directly serve withouttransformation as, topics 710 t with associated weights in the user'sMTAV and/or MTEV, wherein the associated weights are calculated inaccordance with the inferred degree of affinity 214 between the user 200and the objects 212 from which the associated OCVs are sourced. Thisprocess can be iteratively executed to continue to expand or refine theMTAV as additional or alternative sets of behaviors 920 are applied OCVsof the same, additional, or different sets of object 212, enablingcontinuously improved capabilities for personalization.

In some embodiments a multi-dimensional mathematical construct or spacemay be generated based on one or more of the affinity vectors. By way ofa non-limiting example, topics may represent each dimension of amulti-dimensional space. Calculations of distances between objectsand/or users in the multi-dimensional space, and clusters among objectsand/or users, may be determined by applying mathematical algorithms tothe multi-dimensional space and its elements. These calculations may beused by the adaptive system 100 in generating recommendations and/or inclustering elements of the space.

In some embodiments one or more topics 710 t and/or relationshipindicators 718 may be generated automatically by evaluating candidateclusters of content objects 710 c based on behavioral information 920and/or the matching of information within the content objects 710 c,wherein the matching is performed, for example, through probabilistic,statistical, and/or neural network techniques.

Transforming Non-Fuzzy Network Structures to Fuzzy Network Structures

In some embodiments, systems that include organizing structures ortaxonomies other than non-fuzzy networks may be beneficially transformedor converted to a fuzzy network to enable a greater capacity foradaptation, while retaining contextual correspondences to theoriginating systems. Such a transformation is called a “structuraltransformation” herein, and wherein the structural transformation isbased on the processing of usage behavioral information, the structuraltransformation represents a form of behavioral indexing. The resultingfuzzy taxonomy and adaptive contextualization may be applied to enhanceuser navigational experiences. The transformation may be performed ininitializing the fuzzy network only, or the transformation may beperformed on a periodic or continuing basis. In some embodiments thefuzzy network may exist in parallel with the originating structure orstructures. In other embodiments the fuzzy network may replace theoriginating non-fuzzy network structure. In some embodiments the fuzzynetwork structure to which the non-fuzzy structure is transformedcomprises a fuzzy content network 700. Examples of originating non-fuzzynetwork system structures include flat files, hierarchical structures,relational structures, virtual views, tagging structures, and networkstructures in which the relationships between objects or items are notby degree. Structures employed by social networking, collaborativesystems, and micro-blogging systems may be transformed to a fuzzynetwork, including originating structures that comprise a stream ofactivities, as well as structures in which people have symmetricrelationships (e.g., “friends,” colleagues, or acquaintances) orasymmetric relationships (e.g., “followers” or “fans”).

In some embodiments, the transformation process described herein mayalso or alternatively be applied to transform a first fuzzy network to asecond fuzzy network, whereby the second fuzzy network includesadditional or alternative relationships among objects. This may be thecase, for example, as when additional behavioral information is used togenerate relationships in the second fuzzy network that have not beenapplied, or have been applied differently, in the first fuzzy network.

The process of transforming a non-fuzzy network structure to a fuzzystructure may include mappings between elements of the non-fuzzy networkstructure and the fuzzy network structure, as well as rules forestablishing and adjusting elements of the fuzzy network structure. Theelements of the fuzzy network structure that is transformed includeobjects and relationships among the objects. The mappings and rules arecollectively called a “transformational protocol” herein. Thecomputer-implemented function or functions that are invoked to performthe transformational protocol may apply user behavioral information 920that includes, but is not limited to, one or more behaviorscorresponding to the usage behavioral categories listed in Table 1herein.

An exemplary structural transformation and associated transformationalprotocol is illustrated by FIG. 5B, which depicts a first originatingsystem 620 and a second originating system 660 being transformed bymeans of a transformation function 610 into an adaptive system 100D. Itshould be understood that while FIG. 5B depicts two originating systemsbeing transformed, a single originating system or more than twooriginating systems may be transformed.

Originating system A 620 comprises a folder structure hierarchy 630 andone or more views 640. These types of organizing structures may besimilar to information organizing structures that are available, forexample, in a Microsoft® SharePoint® system. Such organizing structuresmay include virtual views and/or hierarchical structures, comprisingviews and/or folders, which may be aligned with super-structures such aslibraries and sub-sites, with each view or folder potentially containingone or more files of content 633. Views 640 are contrasted with folders630 in that views allow a specific file 641 to be shared or commonlyincluded across multiple views, whereas a specific file 633 cantypically be allocated only to a single folder 632.

As illustrated in originating system B 660, another type of non-fuzzyorganizing structure that may be transformed in some embodiments is asubject tagging structure in which files of content 655, or mostgenerally, objects 212, are tagged with one or more words or phrasescorresponding to subjects 652 or topics. These subjects 652 may beselected by a user from an existing list of subject tags, or they may beentered directly by a user. In some embodiments the subject tags maycorrespond to a pre-defined structure, such as a hierarchy 650, in whicha first subject tag 652 may represent a parent subject and a secondsubject 654 may represent a child of the parent subject. In other cases,the subject tags 680 may not have an explicit hierarchical structure. Insome originating systems every content item or object 655 may berequired to have at least one subject tag; in other originating systemssome objects may be associated with one or more tags, but others maynot. It should be understood that the distribution and combinations oforiginating structures across one or more originating systems may bedifferent than those depicted in FIG. 5B.

In some embodiments, a transformation protocol is applied by thetransformation function 610 to transform structures of one or moreoriginating systems comprising views 640, folders 632, or subject tags652,680, as well as combinations thereof. Each of these types ofstructures can contribute beneficially complementary information ingenerating a fuzzy network structure. Although the transformationfunction 610 is depicted outside the adaptive system 100D in FIG. 5B, insome embodiments the transformation function resides inside the adaptivesystem 100D. The transformation function 610 accesses 612,614structural, content, and, in some cases, behavioral information (notexplicitly shown in the originating systems of FIG. 5B), from the one ormore or originating systems 620,660. The transformation function usesthis information from the originating systems to generate a fuzzynetwork structural aspect 210D, and may provide 618 usage behaviorinformation from the originating systems to the usage aspect 220.

In accordance with some embodiments, non-limiting example cases ofstructural transformations are now described. The first conversion caseto be described is the process for transforming two or more views 640 toa fuzzy content network 700. In the first step, the originating views640 are mapped 616 to topics 710 t of the fuzzy content network, andoriginating files are mapped 616 to content objects 710 c. This mappingmay include transferring meta-data 712 associated with the originatingviews 640 and files 641 to the corresponding objects 710 in the fuzzycontent network 700. The transferred or referenced meta-data mayinclude, but is not limited to, creator and create date information,owner, author and publisher information, and user ratings and feedback.Such behavioral based information may be transferred 618 to the usageaspect 220 of the adaptive system 100D. In the second step, relationshipindicators 718 are created among the topics 710 t (that are convertedfrom views 640) in the fuzzy content network 700.

In some embodiments, a metric based on the intersection divided by theunion of files 641 contained in two views of the originating structureis used to generate an affinity 718 between the two corresponding topics710 t in the fuzzy network. Accordingly, in some embodiments thepercentage of common files is calculated as the number of common filesdivided by the sum of the unique files in the two views. For example ifthere are 4 files in View Y and 4 files in View X and 2 of the files arein both View X and View Y, then the percentage of common files is2/6=33%. In some embodiments, the percentage-of-common-files metric maybe adjusted based on the comparison of information contained in thecommon and/or uncommon files in the two views. Behavioral information,including, but not limited to the behaviors of Table 1, may be used bythe transformation function 610 to adjust the affinity 718 between thetwo corresponding topics 710 t.

An exemplary establishment of bi-directional relationship indicators 718between topics corresponding two views, Y and X, is illustrated by thefollowing pseudo code:

If View Y and View X have > 10% common files then the relationshipindicators 718 between corresponding topics 710t are set at: X-to-Y=0.4and Y-to-X=0.4; else If View Y and View X have > 25% common files thenthe relationship indicators 718 between corresponding topics 710t areset at: X-to-Y=0.6 and Y-to-X=0.6; else If View Y and View X have > 50%common files then the relationship indicators 718 between correspondingtopics 710t are set at: X-to-Y=0.8 and Y-to-X=0.8; else If View Y andView X have > 75% common files then the relationship indicators 718between corresponding topics 710t are set at: X-to-Y=1.0 and Y-to-X=1.0

It should be understood that in this example, and other examples hereinof the setting or adjusting of affinities and relationship indicators718, that the relationships indicators 718 may be determined bycontinuous functions rather than as particular discrete settings asillustrated by the “if-then” rules in the examples. Furthermore, ifdiscrete settings or adjustments are used, they may be finer orcoarser-grained than the examples described herein.

In some embodiments, the relationship indicators 718 between contentobjects 700 c (corresponding to originating files 641) and topics 710 t(corresponding to originating views 640) may be set to a specifiedaffinity (e.g., 0.95) if the originating file 641 is contained withinthe originating view 640. In some embodiments, this affinity may beadjusted based on a comparison or matching of information in the filecompared to information compared to other files contained in the view.Behavioral information, including, but not limited to the behaviors ofTable 1, may be used by the affinity generation function to adjust theaffinity 718 between the content object 700 c and the topic 710 t.

In some embodiments content object-to-content object relationshipindicators 718 are based on frequencies with which two correspondingfiles or items of content 641 are both included within views 640 in theoriginating structure 620. For example, following is a non-limitingexample of such a frequency-based method to determine affinities 718between two content objects 710 c.

Let:

V(x)=number of views containing a content item x

V(x,y)=number of views containing a content item x and a content item

y

% V(x)=percentage of all views containing a content item x=V(x)/totalnumber of views

Then, in some embodiments, the expected percentage, actual percentage,and ratio of actual to expected percentage, of view coincidences of xand y are calculated as follows:

Expected % V(x,y)=% V(x)*% V(y)

Actual % V(x,y)=V(x,y)/total number of views

Actual/Expected Coincidences Ratio(x,y)=Actual % V(x,y)/Expected %V(x,y)

The Actual/Expected Coincidences Ratio (“AECR”) metric ranges from 0 toinfinity. An AECR >1 is indicative of the two content items having agreater than random affinity, and the higher the AECR, the greater theinferred affinity. An exemplary setting of reciprocal relationshipindicators 718 between content object x and content object y 710 c bythe transformation function 610 is as follows:

  If AECR(x,y) > 1 then the relationship indicator is set to 0.2; elseIf AECR(x,y) > 2 then the relationship indicator is set to 0.4; else IfAECR(x,y) > 3 then the relationship indicator is set to 0.6; else IfAECR(x,y) > 6 then the relationship indicator is set to 0.8; else IfAECR(x,y) > 10 then the relationship indicator is set to 1.0

In some embodiments, variations of the AECR metric may be generated andapplied to establish object-to-object relationship indicators. Forexample, binomial-type probabilities may be computed to determineexpected co-occurrences of objects within views under randomizationassumptions for comparison against the actual distribution ofco-occurrences. Or, penalty functions with regard the proportion ofnon-co-occurrences versus co-occurrences of a pair of objects within aview may be taken into account, and the AECR adjusted accordingly.

In some embodiments, adjustments may be made to the content objectobject-to-content object relationship indicators 718 by taking intoaccount additional information about the originating files. For example,if two files have the same creator or owner, it may be suggestive of astronger than average affinity between the two files, everything beingequal. So as a non-limiting example, a rule of the type, “if File Y andFile X have the same creator, and the relationship indicator 718 betweenthem is <0.8, then increase the relationship indicator 718 by 0.2,” maybe applied during the transformation process.

In some embodiments, timing considerations may also influence theassigned relationship indicators 718. The closer the creation dates oftwo files, the stronger may be their inferred affinity, everything elsebeing equal. So in some embodiments a rule of the type, “if thedifference in create date between File Y and File X is greater than acertain amount of time, and the relationship indicator 718 between themis >0.2, then decrease the relationship indicator 718 by 0.2,” may beapplied during the conversion process.

In some embodiments folder structures 632 may be transformed to a fuzzycontent network 700, and meta-data 712 associated with the originatingfolders 632 and files 633 may be included in the transformation. In someembodiments, the first step is to create relationship indicators 718among topics 710 t in the fuzzy content network 700, such that thetopics 710 t correspond to folders 632,634 (and/or other superstructuressuch as sub-sites, if desired). In some embodiments, the basictransformational protocol that is applied is based upon the topology ofthe structure. For example, an exemplary topology-based assumption isthat topics (converted from folders in the originating structure) thatare closer to one another within a hierarchy should be assigned strongerrelationships in the fuzzy content network 700, everything else beingequal. The closest relationship within a hierarchy is typically theparent-child relationship. Reciprocal relationships indicators 718between topics 710 t in the transformed structure 210D may notnecessarily be symmetric. Following is exemplary pseudo code forparent-child conversions by the transformation function 610 ofhierarchical structures 630 according to some embodiments:

If Folder Y is one level below Folder X, then relationship indicators718 between corresponding topics 710t are set at: X-to-Y=0.8 andY-to-X=1 If Folder Y is two levels below Folder X, then relationshipindicators 718 between corresponding topics 710t are set at: X-to-Y=0.6and Y-to-X=0.8 If Folder Y is three levels below Folder X, thenrelationship indicators 718 between corresponding topics 710t are setat: X-to-Y=0.4 and Y-to-X=0.6 If Folder Y is four levels below Folder X,then relationship indicators 718 between corresponding topics 710t areset at: X-to-Y=0.2 and Y-to-X=0.4 If Folder Y is five or more levelsbelow Folder X, then relationship indicators 718 between correspondingtopics 710t are set at: X-to-Y=0 and Y-to-X=0 (i.e., do not assign arelationship indicator)

Next, in some embodiments, topics 710 t corresponding to sibling/cousinfolders may be assigned relationship indicators 718. Following isexemplary pseudo code in accordance with some embodiments:

If Folder Y and Folder X are both one level below Folder Z, thenrelationship indicators 718 between corresponding topics 710t are setat: X-to-Y=0.8 and Y-to-X=0.8 If Folder Y and Folder X are both twolevels below Folder Z, then relationship indicators 718 betweencorresponding topics 710t are set at: X-to-Y=0.2 and Y-to-X=0.2

Relationship indicators between other object relatives within thehierarchy such as uncles/nephews, second cousins, third cousins, and soon, can be generated in a similar manner. In some embodiments, timingconsiderations may be applied to adjust the relationship indicators 718that are determined from the topology of the originating systemstructure. For example, a rule of the type such as, “If the differencein the create date between Folder Y and Folder X is greater than acertain amount of time, and the relationship indicator 718 is >0.2, thendecrease the relationship indicator 718 by 0.2,” may be applied.

The next step, in some embodiments, is to assign the contentobject-to-topic relationship indicators 718, starting with folderhierarchy parent-child transformations as exemplified by the followingpseudo code:

If File Y is contained in Folder X, then relationship indicators 718between the corresponding objects are set at: X-to-Y=1.0 and Y-to-X=1.0If File Y is one level below Folder X, then relationship indicators 718between the corresponding objects are set at: X-to-Y=0.8 and Y-to-X=0.8If File Y is two levels below Folder X, then relationship indicators 718between the corresponding objects are set at: X-to-Y=0.6 and Y-to-X=0.6If File Y is three levels below Folder X, then relationship indicators718 between the corresponding objects are set at: X-to-Y=0.4 andY-to-X=0.4 If File Y is four or more levels below Folder X, thenrelationship indicators 718 between the corresponding objects are setat: X-to-Y=0.2 and Y-to-X=0.2

In some embodiments, additional considerations such as timing may beapplied to adjust these relationship indicators. For example, a rulesuch as, “If the difference in the create date between File Y and FolderX is greater than a certain amount of time, and the relationshipindicator 718 between the corresponding objects is >0.2, then decreasethe relationship indicator 718 by 0.2,” may be applied.

Next, in some embodiments, the content object-to-content objectrelationship indicators 718 may be established for sibling and cousinfolders (and similarly for more distant relatives) as exemplified by thefollowing pseudo code:

If File Y and File X are both in Folder Z and have the same creator,then relationship indicators between corresponding content objects areset at: X-to-Y=0.8 and Y-to-X=0.8 If File Y and File X are both inFolder Z and have a different creator, then relationship indicatorsbetween corresponding content objects are set at: X-to-Y=0.6 andY-to-X=0.6 If File Y and File X are in different folders but in the samesub-site, then relationship indicators between corresponding contentobjects are set at: X-to-Y=0.4 and Y-to-X=0.4

In some embodiments, adjustment factors such as timing may be applied tothese topological-based relationship indicators 718. An exemplary ruleis, “If the difference in the create date between File Y and File X isgreater than a certain amount of time, and the relationship indicators718 between them are >0.2, then decrease the relationship indicators 718by 0.2.”

In originating environments with both view 640 and folder 630structures, in some embodiments the previous exemplary conversionprocesses for views-only and folders-only environments may be applied,with some additional adjustments to handle the cases of relationshipsbetween views and folders, and for the refinement of otherobject-to-object relationships.

In some embodiments, for topic-to-topic relationships, the view-to-viewrelationship logic is extended to handle this mixed case as illustratedby the following exemplary pseudo code:

If View Y and View or Folder X have > 10% common files then therelationship indicators 718 between corresponding topics 710t are setat: X-to-Y=0.4 and Y-to-X=0.4; else If View Y and View or Folder Xhave > 25% common files then the relationship indicators 718 betweencorresponding topics 710t are set at: X-to-Y=0.6 and Y-to-X=0.6; else IfView Y and View or Folder X have > 50% common files then therelationship indicators 718 between corresponding topics 710t are setat: X-to-Y=0.8 and Y-to-X=0.8; else If View Y and View or Folder Xhave > 75% common files then the relationship indicators 718 betweencorresponding topics 710t are set at: X-to-Y=1.0 and Y-to-X=1.0

In some embodiments, in generating content object-to-content objectrelationship indicators 718, the view-only case is extended to alsoinclude the case in which two files are contained in the same folder 632and also in one or more views 640. Following is exemplary pseudo codefor this case:

If content objects x and y are in the same folder and AECR(x,y) < 1 thenset relationship indicator 718 to 0.6; else If content objects x and yare in the same folder and AECR(x,y) > 1 then set relationship indicator718 to 0.8; else If content objects x and y are in the same folder andAECR(x,y) > 3 then set relationship indicator 718 to 0.95

In some embodiments, additional considerations such as the creator of apair of files or the difference in creation data of the pair of filesmay be applied to adjust these relationship indicators. For example, acreator-based rule such as, “If File Y and File X have the same creator,and the relationship indicator between them is <0.8, then increase therelationship indicator by 0.2,” may be applied. An exemplary timing ruleis, “If the difference in the create date between File Y and File X isgreater than a certain amount of time, and the relationship indicatorbetween them is >0.2, then decrease the relationship indicator by 0.2.”

In some embodiments, content object-to-content object and/ortopic-to-topic relationship indicators 718 may be established oradjusted based on temporal clustering analysis. For example, files thatare accessed by a specific user, or a group of users, within aprescribed period of time may suggest a greater than average affinityamong the files everything else being equal. Common clusters of filesamong multiple users are even more indicative of a greater than averageaffinity among the files. The clustering analysis may furtherbeneficially take into account the overall frequency of, for example,accesses of the files. Where infrequently accessed files are foundtemporally clustered, the affinities among the files may be inferred tobe greater than average. The results of the access clustering analysismay provide the basis for the magnitude of relationship indicators 718among corresponding content objects 710 c. It should be understood thatwhile the term “accesses” has been used in describing examples of thisclustering analysis, temporal clustering analyses of one or more usersmay be conducted with regard to any of the, and combinations thereof,behaviors and corresponding behavioral categories of Table 1.

Other methods and factors may be applied to assign or adjust therelationship indicators 718 among topics 710 t and content objects 710 cthat have been converted from systems that have hierarchical 630 and/orview 640 structures. These methods include statistical comparison and/orpattern matching, semantic analysis, and or other mathematical and/ormachine learning techniques applied to the information within the files.In addition or alternatively, inferences used to assign or adjustrelationship indicators 718 may be made from available meta-data that isassociated with originating files, folders, and/or views. Availablemeta-data may include, but is not limited to, author, owner, publisherinformation, reviews and commentaries, taxonomies (whether explicitlyspecified or implicitly deduced by a system), and tags or otherdescriptive information.

As one example, in some embodiments tags 652,680 generated or selectedby a user (a “reference behavior” in accordance with Table 1) associatedwith content objects 710 c may be used to determine affinities amongcontent objects 710 c and/or topics 710 t. For example, content objectswith a higher than average or expected proportion of common tags may beconsidered to have a higher than average affinity, everything else beingequal. This calculation may be adjusted basis the overall frequency ofthe population of tags, such that the commonality of less frequentlyused tags is given more weight in calculating affinities than morefrequently used tags.

In some environments content tags may correspond to pre-determinedsubjects or topical areas. These subjects may be organized in ataxonomy, and the structure of the taxonomy may be hierarchical 650, asdepicted within originating system B 660 of FIG. 5B.

In accordance with some embodiments, following is an exemplarytransformational protocol applied by the transformation function 610 forconverting such taxonomies to a fuzzy network structure 210D. In thisnon-limiting example it is assumed the taxonomy of subjects ishierarchical and each item of content is associated with one or moretags that correspond to one or more subjects.

First, similar to the approach described in transforming views,topic-to-topic affinities can be determined basis a metric derived fromthe intersection divided by union of content between a pair of subjects.For example, this metric may be basis the proportion of common contentbetween two subjects, which according to some embodiments, is defined asthe number of common content items divided by the total number of uniquecontent items included in the two subjects. So, for example, if SubjectY contains content items (C1, C2, C4) and Subject X contains contentitems (C1, C2, C3, C5), then the percentage of common content=⅖=40%.

In some embodiments, this percentage can then be adjusted by a scalingfactor that is proportional to the total number of subjects, since ifthere are only a few subjects, then having a high percentage of commoncontent between a given subject pair is less revealing about the actualaffinities between the pair of subjects than if there is a largerpopulation of subjects.

An exemplary scaling formula that can be applied that takes into accountthe size of subject population is:

Subject Scaling Factor=1-exp(constant*number of subjects).

For example, if the constant equals −0.05, this factor will range from 0when there are no subjects to 1 as the number of subjects goes toinfinity, and will be very close to 1 when there are around 100subjects.

An exemplary metric that can then be applied to set or adjust affinitiesbetween subjects is:

Adjusted Common Content %=Subject Scaling Factor * % common content.

A non-limiting example of relationship indicator settings or adjustmentsusing the Adjusted Common Content % metric is as follows:

If Subject Y and Subject X have > 5% Adjusted Common Content % thenincrease the relationship indicators 718 of the corresponding topics710t by 0.2, but to no more than 1.0; else If Subject Y and Subject Xhave > 10% Adjusted Common Content % then increase the relationshipindicators 718 of the corresponding topics 710t by 0.4, but to no morethan 1.0; else If Subject Y and Subject X have > 25% Adjusted CommonContent % then increase the relationship indicators 718 of thecorresponding topics 710t by 0.6, but to no more than 1.0; else IfSubject Y and Subject X have > 50% Adjusted Common Content % thenincrease the relationship indicators 718 of the corresponding topics710t by 0.8, but to no more than 1.0.

In some embodiments, to generate content-to-content relationships fromthese types of originating subject taxonomy structures, the first stepis to map the relationships between content and subjects of theoriginating subject taxonomy as illustrated in the example of Table A.

TABLE A Content Item Associated Subjects C1 S1, S2 C2 S1, S3 C3 S1, S2,S5 C4 S2, S3 C5 S1, S4 C6 S1, S2, S3

Although a simple percentage of common subjects may be applied toestablish or adjust affinities among content items, better results willgenerally be achieved by generating a metric that has properties thatinclude the following characteristics:

-   -   a. Everything else being equal, the higher the proportion of        common subjects between two items of content, the higher the        affinity between the items of content    -   b. Everything else being equal, the more infrequently used are        the common subjects associated with two items of content, the        higher the affinity between the two items (so in the example        above, subject S1 does not convey as much information about        affinities because it is so frequently applied, while subject S5        would convey more information because it is less frequently        applied)    -   c. Everything else being equal, the more infrequently used are        the uncommon subjects between two items of content, the lower        the affinity between the items (so in the example above, S5 is        less frequently applied to the population of content items than        is S3, so the affinity between C1 and C3 should be lower than        between C1 and C5)

In some embodiments, a method to generate such a metric includes a firststep of determining the frequency and relative frequency of the subjectsacross all items of content that are addressed by the originatingsubject taxonomy. Using the example from Table A, the frequency andrelative frequency results are determined as illustrated in Table B.

TABLE B Subject Frequency Relative Frequency (RF) S1 5 5/14 S2 4 4/14 S33 3/14 S4 1 1/14 S5 1 1/14 Total 14 1

In some embodiments, the next step is generating a metric, RFU/RFC, thatis applied to determine the strength of affinity between two contentitems, where:

RFU=Product of Relative Frequencies of Uncommon Subjects

RFC=Product of Relative Frequencies of Common Subjects

and where RFU=1 if there are no uncommon subjects

and where RFU/RFC=0 if there are no common subjects

The metric RFU/RFC, which can be called the Subject Frequency Ratio(SFR), ranges from 0 to infinity, with higher levels of SFR beingindicative of higher affinities between the two content items. Anon-limiting example of the setting of affinities between content itemsusing SFR is as follows:

If SFR(Content Y, Content X) > 0.2 then the relationship indicator 718between the corresponding content objects 710c = 0.2; else IfSFR(Content Y, Content X) > 0.5 then the relationship indicator 718between the corresponding content objects 710c = 0.4; else IfSFR(Content Y, Content X) > 1.0 then the relationship indicator 718between the corresponding content objects 710c = 0.6; else IfSFR(Content Y, Content X) > 6.0 then the relationship indicator 718between the corresponding content objects 710c = 0.8; else IfSFR(Content Y, Content X) > 30.0 then the relationship indicator 718between the corresponding content objects 710c = 1.0

In some embodiments, functions that generate content-to-topicrelationships from these types of originating subject taxonomystructures may employ a variation of the technique that was described togenerate the content-to-content affinities from these types ofstructures. For example, the generation of a metric with the followingcharacteristics may be desirable:

-   -   a. Everything else being equal, an item of content associated        with an infrequently used subject has a higher affinity to that        subject than it would to a more frequently used subject    -   b. Everything else being equal, the fewer the subjects an item        of content is associated with, the higher the affinity to any        given subject (if there is only one directly associated subject,        that is analogous to the folder case, in which an item of        content can be within only one folder). And other infrequently        used subjects associated with a content item dilute the affinity        with a given subject to a greater degree than other more        frequently used subjects would.

In some embodiments, a metric, RFO/RFT, having these characteristics, isgenerated and is used in determining the strength of affinity between acontent item (Cx) item and a target subject (St). RFO and RFT aredefined as:

RFT=Relative Frequency of the Target Subject

RFO=Product of Relative Frequencies of Other Subjects Associated with Cx

and where RFO=1 if there are no other subjects than the target subjectassociated with Cx

The metric RFO/RFT, which can be called the Content-Subject FrequencyRatio (CSFR), ranges from 0 to infinity, with higher levels beingindicative of a higher affinity between a content item and a particularsubject. A non-limiting example of using the CSFR to set the affinitiesbetween corresponding content objects 710 c and topic objects 710 t isas follows:

If CSFR(Content X, Topic Y) > 0.1 then the relationship indicator 718between the corresponding content object and topic object = 0.2; else IfCSFR(Content X, Topic Y) > 0.3 then the relationship indicator 718between the corresponding content object and topic object = 0.4; else IfCSFR(Content X, Topic Y) > 0.6 then the relationship indicator 718between the corresponding content object and topic object = 0.6; else IfCSFR(Content X, Topic Y) > 1.0 then the relationship indicator 718between the corresponding content object and topic object = 0.8; else IfCSFR(Content X, Topic Y) > 5.0 then the relationship indicator 718between the corresponding content object and topic object = 1.0

Integration of Multiple Originating Systems

In some embodiments, multiple originating systems and/or structuresassociated with one or more computer-implemented systems may betransformed into an integrated fuzzy network. This approach beneficiallycreates an underlying integrated contextualization of the multiplesystems and originating structures, which can enhance user navigation,including providing for content and expertise discovery. Usage behaviorand topological synergies between two originating systems can enable abetter contextualization than with one originating system and associatedoriginating structure alone.

In some embodiments a function that integrates recommendations sourcedfrom multiple systems based on the contextualization of an integratedfuzzy network may be invoked by a user or administrator. In someembodiments the user or administrator may be able to select andde-select the originating systems from which recommended content orpeople are sourced. This selection interface may be available throughone of the originating systems, multiple of the originating systems,and/or through a separate interface to the fuzzy network-basedcontextualization of adaptive system 100D.

In some embodiments, when a user has selected that he wants arecommendation of content sourced from a first originating system 620while interacting with, or navigating within, a second originatingsystem's 660 interface, the integrated contextualization ispreferentially required to understand the appropriate topicalneighborhood within the first originating system 620 to serve as a basisfor a recommendation and/or a contextual scope for the recommendation.In other words, a simulation of the user navigating the firstoriginating system is performed while the user is actually within thesecond originating system's environment and navigational context.

To perform this contextual simulation, in accordance with someembodiments, a relation between a user-conducted activity in the secondoriginating system 660, such as contributing an item of content orposting an activity, is made with respect to an object 641 in the firstsystem 620. In some embodiments, subjects 654 in the second system 660may be associated with content 641 in the first system through thesaving or referencing of an object in the first system while the userinteracts with the second system 660. For example, an attachment to, ora link or pointer such as an URL or URI within, a post in the secondsystem 660 may be saved to, or reference an object 212, in the firstsystem 620.

In the following non-limiting example of this integration, it is assumedoriginating system A 620 has a folder-based structure and originatingsystem B 660 has a subject taxonomy structure. It should be understood,however, that different structures may be distributed among two or moreoriginating systems than is assumed in this specific example. Table A1represents an exemplary mapping of content and subjects in originatingsystem B:

TABLE A1 Originating Corresponding Subjects or System B Subject TagsApplied in Content Originating system B C1 S1, S2 C2 S1, S3 C3 S1, S2,S5 C4 S2, S3 C5 S1, S4 C6 S1, S2, S3

Then, as a non-limiting example, it is assumed in this example that theone or more items of content 655 originating from system 2 660 is storedin folders 634 of system 1 620. It follows that there may be one or moreinstances of content items associated with each folder. The folders 634can then be mapped to subjects 654 as shown in the exemplary mapping ofTable C.

TABLE C System 1 Folder Instances Associated System 2 Subjects F1instance 1 (C1) S1, S2 F1 instance 2 (C2) S1, S3 F2 instance 1 (C3) S1,S2, S5 F3 instance 1 (C4) S2, S3 F4 instance 1 (C5) S1, S4

The occurrences of subjects can be summed across folder instances foreach folder as illustrated in Table D.

TABLE D Folder S1 S2 S3 S4 S5 F1 2 1 1 0 0 F2 1 1 0 0 1 F3 0 1 1 0 0 F41 0 0 1 0 Etc. Total

In some embodiments, these types of mappings can be applied by a methodto determine a simulated navigation context within system 1 620 whilethe user is interacting with system 2 660. For example, in the caseconsidered here, an appropriate context in system 1 620 can bedetermined when one or more subjects are specified in system 2 660.

For example, a metric, the Frequency Weighted Subject Occurrences(FWSO), can be defined as the sum across all of the specified subjectsof the number of occurrences of each subject*(1/relative frequency ofeach subject), for a given folder. For example, from the data of tablesB and D, for the specified subjects of S1 and S3, the FWSO of folder F1is:

FWSO(F1; S1,S3)=(2*1/(5/14))+(1*1/(3/14))

If there exist no folders in which FWSO >0 for the specified subjects,then there may not be sufficient context to generate in-contextrecommendation from content items sourced from originating system A.Otherwise, sufficient context is available for in-contextrecommendations. A similar approach to calculating FWSOs, but withrespect to view-based structures rather than folder-based structures, ormixed folder and view-based structures, and be applied in accordancewith some embodiments.

Following are some exemplary methods for generating in-contextrecommendations from system A 620 given specified subjects of system B660. In some embodiments, in generating a system A expertise (people)recommendation based on a system B content contribution associated witha specified set of subjects, the system A folder taken as the contextualbasis is the folder with the maximum FWSO for the specified subjects. Ifthere is a tie, it can be broken, for example, by selecting among thetied folders the one with the user's highest MTAV value.

For knowledge discovery (content recommendations), it is preferred toselect or otherwise indicate a specific content item in system A to bethe contextual basis for the in-context recommendation sourced fromsystem A. In some embodiments, this can be achieved by selecting thesystem A content item with the highest Subject Frequency Ratio (SFR)calculated with respect to the specified subjects. In other words, theSFR is calculated basis the subjects of each content item of system Aand the specified subjects. If there is a resulting tie, among otherpossibilities, the content item among the tied candidate content itemswithin a folder with the highest FWSO can be selected. If there is stillmore than one candidate content item, among other tie-breakingpossibilities, the most popular can be selected.

In addition to delivering cross-contextualization of multipleoriginating systems, the mappings between two originating systems mayenable the adjusting of affinities 718 of the fuzzy network resultingfrom the transformation by the transformation function 610 of a firstoriginating system 620 basis information accessed from a secondoriginating system 660.

In some embodiments the data of Table D is applied to adjust affinities718 between topics 710 t that correspond to folders 630 in theoriginating system 620. For example, metrics of similarity may beapplied for each pair of folders against subject data of the typeillustrated in Table D. The folder similarity metric may be calculatedusing a cosine similarity formula, correlation coefficient formula, orany other suitable formula for comparing the similarity of two vectors.The following non-limiting pseudo code example illustrates the use of acorrelation coefficient to adjust the topic-to-topic affinities 718 thatcorrespond to originating folders

If correlation coefficient (Fx,Fy) > 0.75, then the correspondingtopic-to- topic relationship indicator = max(0.2, existing level); elseIf correlation coefficient (Fx,Fy) > 0.80, then the correspondingtopic-to- topic relationship indicator = max(0.4, existing level); elseIf correlation coefficient (Fx,Fy) > 0.85, then the correspondingtopic-to- topic relationship indicator = max(0.6, existing level); elseIf correlation coefficient (Fx,Fy) > 0.90, then the correspondingtopic-to- topic relationship indicator = max(0.8, existing level); elseIf correlation coefficient (Fx,Fy) > 0.95, then the correspondingtopic-to- topic relationship indicator = max(1.0, existing level)

In some embodiments, the SFR can be calculated for content itemsoriginating from originating system A 620 basis subjects or subject tagsapplied in originating system B 660, which can then be used to adjustthe affinities 718 of between content items accordingly. In someembodiments, the SFR adjustments over-ride previous contentobject-to-content object affinities per the following exemplary pseudocode:

  If SFR(Content Y, Content X) > 0.2 then the content-to-contentrelationship indicator = 0.2; else If SFR(Content Y, Content X) > 0.5then the content-to-content relationship indicator = 0.4; else IfSFR(Content Y, Content X) > 1.0 then the content-to-content relationshipindicator = 0.6; else If SFR(Content Y, Content X) > 6.0 then thecontent-to-content relationship indicator = 0.8; else If SFR(Content Y,Content X) > 30.0 then the content-to-content relationship indicator =1.0

In some embodiments, content-to-topic affinities in a fuzzy networkgenerated from structures within a first system 620 are adjusted basisinformation originating in a second system 660. As one non-limitingexample, a vector of CSFRs is generated by calculating for the targetcontent item a CFSR with respect to each of the content item'sassociated subjects (and the CFSR value is set to zero for all othersubjects that are not associate with the content item). Then asimilarity metric is generated between this vector of CSFRs of thetarget content and the vector of subject occurrences (Table D) for thetarget folder. The similarity metric may be calculated, for example, byusing a cosine similarity formula, correlation coefficient formula, orany other suitable formula for comparing the similarity of two vectors.Exemplary pseudo code for adjusting the affinities between a targetcontent item (Cx) and a folder (Fy) is as follows:

If correlation coefficient (Cx,Fy) > 0.75, then content-topicrelationship indicator = max(0.2, existing level); else If correlationcoefficient (Cx,Fy) > 0.80, then content-topic relationship indicator =max(0.4, existing level); else If correlation coefficient (Cx,Fy) >0.85, then content-topic relationship indicator = max(0.6, existinglevel); else If correlation coefficient (Cx,Fy) > 0.90, thencontent-topic relationship indicator = max(0.8, existing level); else Ifcorrelation coefficient (Cx,Fy) > 0.95, then content-topic relationshipindicator = max(1.0, existing level)

For integrated contextualizations of multiple originating structures,candidate recommendations may be generated from multiple source systemstructures. In some embodiments, a candidate recommendation scoreharmonization function enables direct comparisons of the scoresassociated with candidate recommended items from multiple sourcesystems. The top scored candidate items are then selected for deliveryto the recommendation recipient regardless of the system source of thecandidate items.

In some embodiments the originating systems or structures to betransformed may not have structural constructs that enable a one-to-onecorrespondence with topics 710 t in the transformed structure. In suchcases, one or more topics 710 t and/or relationship indicators 718 maybe generated automatically by evaluating candidate clusters of contentobjects 710 c based on behavioral information 920 and/or statisticalpattern matching of information within the content objects 710 c. Insome cases, this clustering may be based on automatic inferencesinformed by hashtags or other organizing indicia embedded within thecontent objects 710 c.

In some embodiments various system functions and interfaces (e.g.,SharePoint web parts) may be applied that provide selectivefunctionalities of adaptive system 100,100D. These functionalities inconjunction with the structural aspect 210,210D may be collectivelycalled a “learning layer” in some embodiments. The computer-implementedfunctions, knowledge discovery and expertise discovery, refer tospecific learning layer functions that generate content recommendationsand people recommendations, respectively. In some embodiments the fuzzycontent network 700 may be hidden from the user 200; in otherembodiments it may be transparent to the users 200. Other functions maybe included in the learning layer such as enabling visualizations ofaffinities among topics, content, and users, functions to directlyinteract with the fuzzy content network 700, administrative functions tofacilitate installation and tuning of other learning layer functions,and functions that serve to capture additional behavioral informationthat would not be otherwise captured in accordance with, but not limitedto, the behaviors and behavioral categories of Table 1.

In some embodiments learning layer functions can be accessed by othersystems through an application programming interface (API) comprisingstandardized programming protocols. The API may include protocols forboth receiving information from the learning layer and/or for deliveringinformation to the learning layer.

FIG. 5C further illustrates the contextual transformation of originatingsystems into a fuzzy network-based learning layer, and thecontextualization of recommendations that are delivered to a user as theuser navigates an originating system, in accordance with someembodiments. For example, assuming a user 200 is currently navigatingat, or accessing, an object 655 of a first originating system 660, acontextually equivalent object 655D is identified in the transformedstructural aspect 210D of the adaptive learning layer 100D, which servesas the contextual basis within the learning layer 100D for arecommendation 255 that is generated and delivered to a user 200,wherein the recommendation comprises an object 656 in the learning layer100D that is related to, or is within the contextual neighborhood of,the learning layer's 100D contextually equivalent object 655D of thenavigated object 655.

In some embodiments the object 655 at which the user 200 is currentlynavigating may be related to another object 655C in the secondoriginating system basis an explicit relationship or correspondenceestablished by a user 200. For example, the second object 655C may be anattachment object to the first object 655, and the attachment object655C may not necessarily be stored in the originating system 660 beingnavigated. In some embodiments the contextual correspondence between thetwo objects 655,655C may be established through automated means such asthrough the comparison of the contents of objects, for example, throughgeneration and comparison of OCVs, rather than, or in addition to,explicit user establishment of the correspondence.

The contextually equivalent object 655D in the learning layer 100D tothe navigated object 655 in the first originating system 660 maycorrespond indirectly to the navigated object 655 by way of the relatedobject 655C in the second originating system, in accordance with someembodiments.

In some embodiments an administrator or user 200 may select one or moreoriginating systems to be the source of objects recommended 255 by thelearning layer 100D. So, for example, if the user chose to haverecommendations of objects sourced only from the second system 620 whilenavigating the first system 660, then the contextually correspondingobject 655C would be used as the contextual basis 655D in the learninglayer 100D, and recommended objects 656 would be limited to only thoseoriginating in the second system.

In such selectable recommendation sourcing embodiments, the candidaterecommendation score harmonization function may be applied to enabledirect comparisons of the scores associated with candidate recommendeditems from the multiple source systems selected by the user or anadministrator. The top scored candidate objects are then selected fordelivery 255 to the recommendation recipient 200 regardless of thesystem source of the candidate objects, given that the system sourceshave been selected by the user or administrator.

In some embodiments, standardized tags may be applied to the topicswithin, or sourced from, one or more originating systems 620,660 so asto create a standardized member-topic affinity vector (MTAV) for aspecific user 200, and that can be standardized across multiple users200, based on the tags. The adaptive system 100,100D generates astandardized MTAV derivatively from each originating MTAV from the tagsthat are mapped to topics of the originating MTAV. In some embodimentsnot every originating topic has a standardized tag applied—in this case,the function that generates the standardized MTAV may ignore theoriginating topic without a standardized tag. Since in some cases thenumber of different topics may exceed the number of applicablestandardized tags, some topics may have the same standardized tag. Inthese cases, the standardized MTAV generation function will create acomposite standardized MTAV value based on the multiple affinity valuesof the originating MTAVs. The standardized MTAV will be of a dimensionequal to the number of standardized tags.

To summarize an exemplary process, the folders 632, views 640, and/orsubjects 652 of one or more originating systems 620,660 havestandardized tags applied. The folders 632, views 640, and/or subjects652 of the one or more originating systems 620,660 are transformed totopics 710 t and behavioral information from the one or more originatingsystems 620,660 are used to generate originating system-specific MTAVs.The standardized tags associated with the folders 632, views 640, and/orsubjects 652 of the one or more originating systems 620,660 are thenused to create a standardized, composite MTAV that is a vector ofaffinity values corresponding to each of the standardized tags.

The standardized MTAV can be beneficially used to harmonize the encodingof interests, preferences, and most generally learning, from the one ormore originating systems 620,660 and/or one or more adaptive systems100,100D. By establishing a direct correspondence between originatingMTAVs, this approach of generating a standardized MTAV has the benefitof enabling portability of a user's interests from one system toanother, enabling the integration of the user's interests from multipleoriginating systems, and enabling consistent comparisons of interestprofiles across users. These standardized, portable MTAVs can then beused to generate member-to-member affinity vectors (MMAVs) that areindicative of interest similarities among users across differentoriginating systems—even if the users are not all users of exactly thesame originating systems.

Similar to the process described for MTAVs, in some embodiments,standardized tags can be applied in the generation of member-topicexpertise vectors (MTEVs). Rather than interest portability acrossdifferent originating systems, expertise portability across differentoriginating systems is enabled by standardized MTEVs.

In some embodiments, the standardized tags are applied by humans, inother embodiments the tags may be generated and/or applied by automatedmeans—for example, through the evaluation of the contents of theassociated topics and related content.

FIG. 5D illustrates the generation of in-context recommendations by anin-context recommendations function 240 ic, which is a component ofadaptive recommendations function 240, in which the recommended objects255 are sourced from a collection of objects 212 residing in one or morestructural aspects 210 bci,210 bi,210 ci, in accordance with someembodiments. In-context recommendations are a type of recommendationsthat are generated basis a user's 200 context with regard to a baseobject 212. For example, the context may be a document that is beingaccessed or viewed by the user, or a song that the user is listening toamong a collection of songs. In addition to the object 212 that isproviding the context being a computer-implemented object such as adocument, it should be noted that the object 212 may alternativelyrepresent the physical user himself within his physical environment inone embodiment, and the associated context of this object 212representing the physical user 200 may be physical aspects of the user'sphysical presence such as the user's location, the surrounding externalenvironment of the user, including physical objects, and/or aspects ofthe user's internal environment or physiology.

A recommendation context function 300 comprises an object contextfunction 301 that may include a representation of context by, forexample, a CCAV 310 that is generated by a behavioral indexing processand/or the object 212 context may be derived from an object contentsvector (OCV) 320 that may be generated by, for example, a searchindexing process. Alternatively, if the object context is the physicaluser 200 herself, her context may be represented by an MTAV or othertype of vector that describes affinity levels between the user and otherobjects, including other physical objects, including other people.

If the object context function 301 has access to a CCAV 310 (oralternatively a CTAV) associated with a base object, then the CCAV orCTAV can be applied to determine 311,312 an appropriate contextualneighborhood for the in-context recommendations function 240 ic withregard to objects 212 that have been behaviorally indexed 210 bci, 210bi based on an evaluation of the associated degrees of affinity.

If the object context function 301 has access to an OCV 320 associatedwith a base object, then this base OCV can be applied to selectcandidate objects 321,322 for recommendation from objects 212 that havebeen had their contents indexed 210 bci, 210 ci. In this case the baseOCV 320 is compared to OCVs of target objects that have beencontents-indexed 210 bci,210 ci. Evaluating the comparisons between thebase OCV and the targeted OCVs preferentially takes into account thenumber of occurrences of common constituent elements (or synonyms)between the base OCV and each of the targeted OCVs, as well as theassociated the weights or values associated with the common constituentelements of the base OCV and each of the targeted OCVs. Affinitiesdetermined by the object context function 300 and the contents-indexedobjects 210 bci,210 ci are generated basis these OCV-based comparisons,and these affinities collectively serve as a contextual neighborhood forthe in-context recommendations function 240 ic.

In cases in which the object context function 301 includes both a CCAV310 (or CTAV) and OCV 320, and both behaviorally indexed andcontents-indexed source objects 210 bci,210 bi,210 ci are available, anaffinity harmonization process may be performed to generate anappropriate contextual neighborhood. This may result in objects in thecontextual neighborhood that are solely derived from the CCA or CTA,solely derived from the OCV comparisons, or from both; and theassociated affinities between the base object and other objects in thecontextual neighborhood may be derived from either the CCA or the OCVcomparisons, or may have an affinity value influenced by both the CCAand OCV comparisons.

In some embodiments, the in-context recommendation function 240 ic thenapplies a personalization step through application of a personalizationfunction 400 with respect to the objects 212 in the resulting contextualneighborhood. This personalization may be performed by comparing theuser's 200 MTAV and/or MTEV to the CTAV of the objects in the contextualneighborhood. In some embodiments, associated CTAVs are only availablefor objects associated with behaviorally indexed sources 210 bci,210 bi.In some embodiments, CTAVs are also available for objects 212 sourcedfrom system sources that have not been behaviorally indexed but havebeen contents-indexed 210 ci. In this case, the CTAVS may be derivedfrom OCVs by automatically determining topics through a statisticalanalysis of the OCVs. As a simple, non-limiting example, if a cluster ofOCVs with common words or phrases with relatively high weights isidentified, then the words or phrases (or synonyms thereof) may beidentified as one or more topics. The relative affinities of the objectsto the one or more topics based on the each object's OCV can then becalculated. The result is an OCV-derived CTAV that can be compared tothe user's 200 MTAV and/or MTEV (facilitated by appropriate glossary orlexicon-based mappings as required) so as to beneficially apply apersonalization filter to the candidate objects in the contextualneighborhood.

In addition to, or instead of, the personalization step, various objectquality filtering methods may be performed by the in-contextrecommendations function 240 ic on the objects in the contextualneighborhood. These quality evaluations are described in more detailelsewhere herein, and may be based on object attributes such as recencyof publication, or behavioral information such as user's ratings, forexample

FIG. 5E illustrates the generation of in-context recommendations inwhich the recommendation context function 300 establishes arecommendation context by means of a user 200 performing a searchrequest, in accordance with some embodiments. The search request can beprocessed and applied 351,352 against objects 212 that have beencontents-indexed 210 bci,210 ci. For objects sourced from collections ofobjects that have also been behaviorally indexed 210 bci, one or more ofthe objects that the search function identifies based on an evaluationof the OCVs of the selected objects may in turn be used as a basis forselecting additional or alternative objects 355 from the objectcollection 210 bci basis the results of behavioral indexing. Forexample, the CTAV associated with an object selected based on its OCV bythe search function can then be used to generate a contextualneighborhood to supplement the search-based results. This can bebeneficial to the user performing the search request as the searchfunction might otherwise miss bringing such relevant objects to theuser's attention. These supplemental objects 355 selected basis thebehavioral indexing may be integrated within the search resultsdelivered to the user, or alternatively, they may be accessed orrequested by the user after receiving the standard search results. Insome embodiments, the user 200 is able to select one of the searchresults objects, and invoke a function that returns one or moreadditional objects 355 that are based, at least in part, on the object'sCTAV or other behaviorally-based set of affinities. In some embodiments,a comparison of the OCV of the object selected by the user and the OCVsof additional objects identified by the CTAV 355 processing may beapplied to also influence the selection and/or arrangement of theobjects that are actually delivered in response to the user's request.

FIG. 5F illustrates the generation of out-of-context recommendations byan out-of-context recommendations function 240 oc, which is a componentof adaptive recommendations function 240, in which the recommendedobjects 255 are sourced from a collection of objects 212 residing in oneor more structural aspects 210 bci,210 bi,210 ci, in accordance withsome embodiments. Out-of-context recommendations are a type ofrecommendations that are generated in which there does not exist anobject context on which to base recommendations 255. Even in such anout-of-context situation, useful recommendations can still be generatedby applying personalization criteria, assuming the identity of therecommendation recipient 200 is known, and/or by applying object qualityfiltering criteria.

Candidate objects for out-of-context recommendations may be sourced frombehaviorally indexed objects 210 bci, 210 bi. In this case the user's200 MTAV 401 can be used to compare against the CTAV of the behaviorallyindexed objects using mathematical techniques known to those skilled inthe art that determine the mathematical “distance” between vectors, anda subset of behaviorally indexed objects that have CTAVs with theshortest distance from the MTAV 401 (or basis the user's MTEV) areidentified. This personalized subset 410,411 of the behaviorally indexedobjects may then be filtered through object-specific quality filteringto yield one or more objects 255 that are recommended to the user 200.

Candidate objects for out-of-context recommendations may also, oralternatively, be sourced from contents-indexed objects 210 bci, 210 ci.In this case the user's 200 MTAV 401 (or MTEV) can be converted to anOCV format, and this synthetic, MTAV-derived base OCV can be used tocompare 420,421 against the OCVs of the context-indexed objects in amanner as has been previously described herein. A subset of thecontents-indexed objects which have OCVs that are closest in terms ofmathematically defined distance to the MTAV-derived OCV is selected.This personalized subset of the contents-indexed objects may then, if ithas not already been performed, be filtered through object-specificquality filtering to yield one or more objects 255 that are recommendedto the user 200.

In cases in which candidate objects for out-of-context recommendationsare sourced from both behaviorally indexed and contents-indexed objects,the resulting recommendations 255 delivered to the user 200 may includeobjects from one or both types of sources.

FIG. 5G illustrates an in-context recommendations function 240 ic and anout-of-context recommendations function 240 oc being accessed through alearning layer application programming interface (“API”) 500, inaccordance with some embodiments. The learning layer API receives aprogram call for a request for a recommendation by a recommendationrequesting function 510 (which may be invoked 509 by a user 200) throughapplication of a specified API syntax. Within the API syntax, an objectcontext, a specified user 200, or both, are provided by therecommendation requesting function 510. The learning layer API 500relays the program call syntax to the appropriate recommendationsfunction. If an object context is provided, then an in-contextrecommendations function 240 ic is invoked 511. If no object context isprovided, then out-of-context recommendations function 240 oc is invoked521. If an identifiable user 200 is provided then the relevantrecommendations function 240 ic,240 oc executes personalization function400. Object quality filtering may also be applied by the relevantrecommendations function 240 ic,240 oc.

The relevant recommendations function 240 ic,240 oc then returns one ormore recommendations 250 to the recommendation receipt function 520 viathe learning layer API 500. The recommendations receipt function maythen deliver the recommendations 255 to the user 200.

For any of the cases described by FIGS. 5D-5G, controls may be providedfor a recommendation recipient 200 or administrator to specify whetherrecommended objects are sourced from only behaviorally indexed sourceobjects, only contents-indexed source objects, or both.

User Behavior and Usage Framework

FIG. 6 depicts a usage framework 1000 for performing preference and/orintention inferencing of tracked or monitored usage behaviors 920 by oneor more computer-based systems 925. The one or more computer-basedsystems 925 may comprise an adaptive system 100. The usage framework1000 summarizes the manner in which usage patterns are managed withinthe one or more computer-based systems 925. Usage behavioral patternsassociated with an entire community, affinity group, or segment of users1002 are captured by the one or more computer-based systems 925. Inanother case, usage patterns specific to an individual are captured bythe one or more computer-based systems 925. Various sub-communities ofusage associated with users may also be defined, as for example“sub-community A” usage patterns 1006, “sub-community B” usage patterns1008, and “sub-community C” usage patterns 1010.

Memberships in the communities are not necessarily mutually exclusive,as depicted by the overlaps of the sub-community A usage patterns 1006,sub-community B usage patterns 1008, and sub-community C usage patterns1010 (as well as and the individual usage patterns 1004) in the usageframework 1000. Recall that a community may include a single user ormultiple users. Sub-communities may likewise include one or more users.Thus, the individual usage patterns 1004 in FIG. 6 may also be describedas representing the usage patterns of a community or a sub-community.For the one or more computer-based systems 925, usage behavior patternsmay be segmented among communities and individuals so as to effectivelyenable adaptive communications 250 c delivery for each sub-community orindividual.

The communities identified by the one or more computer-based systems 925may be determined through self-selection, through explicit designationby other users or external administrators (e.g., designation of certainusers as “experts”), or through automatic determination by the one ormore computer-based systems 925. The communities themselves may haverelationships between each other, of multiple types and values. Inaddition, a community may be composed not of human users, or solely ofhuman users, but instead may include one or more other computer-basedsystems, which may have reason to interact with the one or morecomputer-based systems 925. Or, such computer-based systems may providean input into the one or more computer-based systems 925, such as bybeing the output from a search engine. The interacting computer-basedsystem may be another instance of the one or more computer-based systems925.

The usage behaviors 920 included in Table 1 may be categorized by theone or more computer-based systems 925 according to the usage framework1000 of FIG. 6. For example, categories of usage behavior may becaptured and categorized according to the entire community usagepatterns 1002, sub-community usage patterns 1006, and individual usagepatterns 1004. The corresponding usage behavior information may be usedto infer preferences and/or intentions and interests at each of the userlevels.

Multiple usage behavior categories shown in Table 1 may be used by theone or more computer-based systems 925 to make reliable inferences ofthe preferences and/or intentions and/or intentions of a user withregard to elements, objects, or items of content associated with the oneor more computer-based systems 925. There are likely to be differentpreference inferencing results for different users.

As shown in FIG. 6, the one or more computer-based systems 925 deliversadaptive communications to the user 200. These adaptive communications250 c may include adaptive recommendations 250 and/or associatedexplanations for the recommendations, or may be other types ofcommunications to the user 200, including advertising. In someembodiments the adaptive communications 250 c comprise one or morephrases, where phrases comprise one or more words. The adaptivecommunications 250 c may be delivered to the user 200 in a written form,an audio form, or a combination of these forms.

By introducing different or additional behavioral characteristics, suchas the duration of access of, or monitored or inferred attention toward,an object, a more adaptive communication 250 ci s enabled. For example,duration of access or attention will generally be much less correlatedwith navigational proximity than access sequences will be, and thereforeprovide a better indicator of true user preferences and/or intentionsand/or intentions. Therefore, combining access sequences and accessduration will generally provide better inferences and associated systemstructural updates than using either usage behavior alone. Effectivelyutilizing additional usage behaviors as described above will generallyenable increasingly effective system structural updating. In addition,the one or more computer-based systems 925 may employ user affinitygroups to enable even more effective system structural updating than areavailable merely by applying either individual (personal) usagebehaviors or entire community usage behaviors.

Furthermore, relying on only one or a limited set of usage behavioralcues and signals may more easily enable potential “spoofing” or “gaming”of the one or more computer-based systems 925. “Spoofing” or “gaming”the one or more computer-based systems 925 refers to conductingconsciously insincere or otherwise intentional usage behaviors 920 so asto influence the costs of advertisements 910 of the one or morecomputer-based systems 925. Utilizing broader sets of system usagebehavioral cues and signals may lessen the effects of spoofing orgaming. One or more algorithms may be employed by the one or morecomputer-based systems 925 to detect such contrived usage behaviors, andwhen detected, such behaviors may be compensated for by the preferenceand interest inferencing algorithms of the one or more computer-basedsystems 925.

In some embodiments, the one or more computer-based systems 925 mayprovide users 200 with a means to limit the tracking, storing, orapplication of their usage behaviors 920. A variety of limitationvariables may be selected by the user 200. For example, a user 200 maybe able to limit usage behavior tracking, storing, or application byusage behavior category described in Table 1. Alternatively, or inaddition, the selected limitation may be specified to apply only toparticular user communities or individual users 200. For example, a user200 may restrict the application of the full set of her usage behaviors920 to preference or interest inferences by one or more computer-basedsystems 925 for application to only herself, and make a subset ofprocess behaviors 920 available for application to users only within herworkgroup, but allow none of her process usage behaviors to be appliedby the one or more computer-based systems 925 in making inferences ofpreferences and/or intentions and/or intentions or interests for otherusers.

User Communities

As described above, a user associated with one or more systems 925 maybe a member of one or more communities of interest, or affinity groups,with a potentially varying degree of affinity associated with therespective communities. These affinities may change over time asinterests of the user 200 and communities evolve over time. Theaffinities or relationships among users and communities may becategorized into specific types. An identified user 200 may beconsidered a member of a special sub-community containing only onemember, the member being the identified user. A user can therefore bethought of as just a specific case of the more general notion of user oruser segments, communities, or affinity groups.

FIG. 7 illustrates the affinities among user communities and how theseaffinities may automatically or semi-automatically be updated by the oneor more computer-based systems 925 based on user preferences and/orintentions which are derived from user behaviors 920. An entirecommunity 1050 is depicted in FIG. 7. The community may extend acrossorganizational, functional, or process boundaries. The entire community1050 includes sub-community A 1064, sub-community B 1062, sub-communityC 1069, sub-community D 1065, and sub-community E 1070. A user 1063 whois not part of the entire community 1050 is also featured in FIG. 7.

Sub-community B 1062 is a community that has many relationships oraffinities to other communities. These relationships may be of differenttypes and differing degrees of relevance or affinity. For example, afirst relationship 1066 between sub-community B 1062 and sub-community D1065 may be of one type, and a second relationship 1067 may be of asecond type. (In FIG. 7, the first relationship 1066 is depicted using adouble-pointing arrow, while the second relationship 1067 is depictedusing a unidirectional arrow.)

The relationships 1066 and 1067 may be directionally distinct, and mayhave an indicator of relationship or affinity associated with eachdistinct direction of affinity or relationship. For example, the firstrelationship 1066 has a numerical value 1068, or relationship value, of“0.8.” The relationship value 1068 thus describes the first relationship1066 between sub-community B 1062 and sub-community D 1065 as having avalue of 0.8.

The relationship value may be scaled as in FIG. 7 (e.g., between 0 and1), or may be scaled according to another interval. The relationshipvalues may also be bounded or unbounded, or they may be symbolicallyrepresented (e.g., high, medium, low).

The user 1063, which could be considered a user community including asingle member, may also have a number of relationships to othercommunities, where these relationships are of different types,directions and relevance. From the perspective of the user 1063, theserelationship types may take many different forms. Some relationships maybe automatically formed by the one or more computer-based systems 925,for example, based on explicit or inferred interests, geographiclocation, or similar traffic/usage patterns. Thus, for example theentire community 1050 may include users in a particular city. Somerelationships may be context-relative. For example, a community to whichthe user 1063 has a relationship could be associated with a certainprocess, and another community could be related to another process.Thus, sub-community E 1070 may be the users associated with a productdevelopment business to which the user 1063 has a relationship 1071;sub-community B 1062 may be the members of a cross-business innovationprocess to which the user 1063 has a relationship 1073; sub-community D1065 may be experts in a specific domain of product development to whichthe user 1063 has a relationship 1072. The generation of new communitieswhich include the user 1063 may be based on the inferred interests ofthe user 1063 or other users within the entire community 1050.

Membership of communities may overlap, as indicated by sub-communities A1064 and C 1069. The overlap may result when one community is wholly asubset of another community, such as between the entire community 1050and sub-community B 1062. More generally, a community overlap will occurwhenever two or more communities contain at least one user or user incommon. Such community subsets may be formed automatically by the one ormore systems 925, based on preference, interest, or expertiseinferencing from user behaviors 920. For example, a subset of acommunity may be formed based on an inference of increased interest ordemand of particular content or expertise of an associated community.The one or more computer-based systems 925 are also capable of inferringthat a new community is appropriate. The one or more computer-basedsystems 925 will thus create the new community automatically.

For each user, whether residing within, say, sub-community A 1064, orresiding outside the community 1050, such as the user 1063, therelationships (such as arrows 1066 or 1067), affinities, or“relationship values” (such as numerical indicator 1068), and directions(of arrows) are unique. Accordingly, some relationships (and specifictypes of relationships) between communities may be unique to each user.Other relationships, affinities, values, and directions may have moregeneral aspects or references that are shared among many users, or amongall users of the one or more computer-based systems 925. A distinct andunique mapping of relationships between users, such as is illustrated inFIG. 7, could thus be produced for each user by the one or morecomputer-based systems 925.

The one or more computer-based systems 925 may automatically generatecommunities, or affinity groups, based on user behaviors 920 andassociated preference inferences. In addition, communities may beidentified by users, such as administrators of the process orsub-process instance 930. Thus, the one or more computer-based systems925 utilizes automatically generated and manually generated communities.

The communities, affinity groups, or user segments aid the one or morecomputer-based systems 925 in matching interests optimally, developinglearning groups, prototyping process designs before adaptation, and manyother uses. For example, some users that use or interact with the one ormore computer-based systems 925 may receive a preview of a newadaptation of a process for testing and fine-tuning, prior to otherusers receiving this change.

Users 200 or communities may be explicitly represented as elements orobjects 212 within the one or more computer-based systems 925. An object212 representing a user 200 may include self-profiling information thatis explicitly provided by the user 200. This user descriptiveinformation may include, but are not limited to, for example, a photo oravatar, relationships to other people, subjects of interest, andaffiliations.

Preference and/or Intention Inferences

The usage behavior information and inferences function 220 of the one ormore computer-based systems 925 is depicted in the block diagram of FIG.8. In embodiments where computer-based systems 925 is an adaptive system100, then usage behavior information and inferences function 220 isequivalent to the usage aspect 220 of FIG. 1. The usage behaviorinformation and inferences function 220 denotes captured usageinformation 202, further identified as usage behaviors 270, and usagebehavior pre-processing 204. The usage behavior information andinferences function 220 thus reflects the tracking, storing,classification, categorization, and clustering of the use and associatedusage behaviors 920 of the one or more users or users 200 interactingwith the one or more computer-based systems 925.

The captured usage information 202, known also as system usage or systemuse 202, includes any interaction by the one or more users or users 200with the system, or monitored behavior by the one or more users 200. Theone or more computer-based systems 925 may track and store user keystrokes and mouse clicks or other device controller information, forexample, as well as the time period in which these interactions occurred(e.g., timestamps), as captured usage information 202. From thiscaptured usage information 202, the one or more computer-based systems925 identifies usage behaviors 270 of the one or more users 200 (e.g.,web page access or physical location changes of the user). Finally, theusage behavior information and inferences function 220 includesusage-behavior pre-processing, in which usage behavior categories 246,usage behavior clusters 247, and usage behavioral patterns 248 areformulated for subsequent processing of the usage behaviors 270 by theone or more computer-based systems 925. Some usage behaviors 270identified by the one or more computer-based systems 925, as well asusage behavior categories 246 designated by the one or morecomputer-based systems 925, are listed in Table 1, and are described inmore detail below.

The usage behavior categories 246, usage behaviors clusters 247, andusage behavior patterns 248 may be interpreted with respect to a singleuser 200, or to multiple users 200, in which the multiple users may bedescribed herein as a community, an affinity group, or a user segment.These terms are used interchangeably herein. A community is a collectionof one or more users, and may include what is commonly referred to as a“community of interest.” A sub-community is also a collection of one ormore users, in which members of the sub-community include a portion ofthe users in a previously defined community. Communities, affinitygroups, and user segments are described in more detail, below.

Usage behavior categories 246 include types of usage behaviors 270, suchas accesses, referrals to other users, collaboration with other users,and so on. These categories and more are included in Table 1. Usagebehavior clusters 247 are groupings of one or more usage behaviors 270,either within a particular usage behavior category 246 or across two ormore usage categories. The usage behavior pre-processing 204 may alsodetermine new “clusterings” of user behaviors 270 in previouslyundefined usage behavior categories 246, across categories, or among newcommunities. Usage behavior patterns 248, also known as “usagebehavioral patterns” or “behavioral patterns,” are also groupings ofusage behaviors 270 across usage behavior categories 246. Usage behaviorpatterns 248 are generated from one or more filtered clusters ofcaptured usage information 202.

The usage behavior patterns 248 may also capture and organize capturedusage information 202 to retain temporal information associated withusage behaviors 270. Such temporal information may include the durationor timing of the usage behaviors 270, such as those associated withreading or writing of written or graphical material, oralcommunications, including listening and talking, or physical location ofthe user 200, potentially including environmental aspects of thephysical location(s). The usage behavioral patterns 248 may includesegmentations and categorizations of usage behaviors 270 correspondingto a single user of the one or more users 200 or according to multipleusers 200 (e.g., communities or affinity groups). The communities oraffinity groups may be previously established, or may be generatedduring usage behavior pre-processing 204 based on inferred usagebehavior affinities or clustering.

User Behavior Categories

In Table 1, a variety of different user behaviors 920 are identifiedthat may be assessed by the one or more computer-based systems 925 andcategorized. The usage behaviors 920 may be associated with the entirecommunity of users, one or more sub-communities, or with individualusers of the one of more computer-based applications 925.

TABLE 1 Usage behavior categories and usage behaviors usage behaviorcategory usage behavior examples navigation and access activity, contentand computer application accesses, including buying/selling paths ofaccesses or click streams execution of searches and/or search historysubscription and personal or community subscriptions to, orself-profiling following of, topical areas interest and preferenceself-profiling following other users filters affiliation self-profiling(e.g., job function) collaborative referral to others discussion forumactivity direct communications (voice call, messaging) contentcontributions or structural alterations linking to another userreference personal or community storage and tagging personal orcommunity organizing of stored or tagged information direct feedbackuser ratings of activities, content, computer applications and automaticrecommendations user comments physiological responses direction of gazebrain patterns blood pressure heart rate voice modulation facialexpression kinetic expression of limbs such as tension, posture ormovement expression of other users in the group environmental currentlocation conditions and location over time location relative location tousers/object references current time current weather condition

A first category of process usage behaviors 920 is known as systemnavigation and access behaviors. System navigation and access behaviorsinclude usage behaviors 920 such as accesses to, and interactions withcomputer-based applications and content such as documents, Web pages,images, videos, TV channels, audio, radio channels, multi-media,interactive content, interactive computer applications and games,e-commerce applications, or any other type of information item or system“object.” These process usage behaviors may be conducted through use ofa keyboard, a mouse, oral commands, or using any other input device.Usage behaviors 920 in the system navigation and access behaviorscategory may include, but are not limited to, the viewing, scrollingthrough, or reading of displayed information, typing writteninformation, interacting with online objects orally, or combinations ofthese forms of interactions with computer-based applications. Thiscategory includes the explicit searching for information, using, forexample, a search engine. The search term may be in the form of a wordor phrase to be matched against documents, pictures, web-pages, or anyother form of on-line content. Alternatively, the search term may beposed as a question by the user.

System navigation and access behaviors may also include executingtransactions, including commercial transactions, such as the buying orselling of merchandise, services, or financial instruments. Systemnavigation and access behaviors may include not only individual accessesand interactions, but the capture and categorization of sequences ofinformation or system object accesses and interactions over time.

A second category of usage behaviors 920 is known as subscription andself-profiling behaviors. Subscriptions may be associated with specifictopical areas or other elements of the one or more computer-basedsystems 925, or may be associated with any other subset of the one ormore computer-based systems 925. “Following” is another term that may beused for a subscription behavior—i.e., following a topic is synonymouswith subscribing to a topic. Subscriptions or following behaviors mayalso be with regard to other users—the subscriber or follower receivesactivity streams of the subscribed to or followed user. A user'sfollowing behavior is distinguished from a linking behavior with regardto another user in that a following relationship is asymmetric, while alinking (e.g., “friending”) relationship is typically symmetric (andhence linking is considered in the collaborative behavior categoryherein). Subscriptions may thus indicate the intensity of interest withregard to elements of the one or more computer-based systems 925. Thedelivery of information to fulfill subscriptions may occur online, suchas through activity streams, electronic mail (email), on-linenewsletters, XML or RSS feeds, etc., or through physical delivery ofmedia.

Self-profiling refers to other direct, persistent (unless explicitlychanged by the user) indications explicitly designated by the one ormore users regarding their preferences and/or intentions and interests,or other meaningful attributes. A user 200 may explicitly identifyinterests or affiliations, such as job function, profession, ororganization, and preferences and/or intentions, such as representativeskill level (e.g., novice, business user, advanced). Self-profilingenables the one or more computer-based systems 925 to infer explicitpreferences and/or intentions of the user. For example, a self-profilemay contain information on skill levels or relative proficiency in asubject area, organizational affiliation, or a position held in anorganization. A user 200 that is in the role, or potential role, of asupplier or customer may provide relevant context for effective adaptivee-commerce applications through self-profiling. For example, a potentialsupplier may include information on products or services offered in hisor her profile. Self-profiling information may be used to inferpreferences and/or intentions and interests with regard to system useand associated topical areas, and with regard to degree of affinity withother user community subsets. A user may identify preferred methods ofinformation receipt or learning style, such as visual or audio, as wellas relative interest levels in other communities.

A third category of usage behaviors 920 is known as collaborativebehaviors. Collaborative behaviors are interactions among the one ormore users. Collaborative behaviors may thus provide information onareas of interest and intensity of interest. Interactions includingonline referrals of elements or subsets of the one or morecomputer-based systems 925, such as through email, whether to otherusers or to non-users, are types of collaborative behaviors obtained bythe one or more computer-based systems 925.

Other examples of collaborative behaviors include, but are not limitedto, online discussion forum activity, contributions of content or othertypes of objects to the one or more computer-based systems 925, postinginformation that is then received by subscribers, categorizingsubscribers so as to selectively broadcast information to subscribers,linking to another user, or any other alterations of the elements,objects or relationships among the elements and objects of one or morecomputer-based systems 925. Collaborative behaviors may also includegeneral user-to-user communications, whether synchronous orasynchronous, such as email, instant messaging, interactive audiocommunications, and discussion forums, as well as other user-to-usercommunications that can be tracked by the one or more computer-basedsystems 925.

A fourth category of process usage behaviors 920 is known as referencebehaviors. Reference behaviors refer to the marking, designating, savingor tagging of specific elements or objects of the one or morecomputer-based systems 925 for reference, recollection or retrieval at asubsequent time. An indicator such as “like” is a reference behaviorwhen used as a tag for later retrieval of associated information.Tagging may include creating one or more symbolic expressions, such as aword or words (e.g., a hashtag), associated with the correspondingelements or objects of the one or more computer-based systems 925 forthe purpose of classifying the elements or objects. The saved or taggedelements or objects may be organized in a manner customizable by users.The referenced elements or objects, as well as the manner in which theyare organized by the one or more users, may provide information oninferred interests of the one or more users and the associated intensityof the interests.

A fifth category of process usage behaviors 920 is known as directfeedback behaviors. Direct feedback behaviors include ratings or otherindications of perceived quality by individuals of specific elements orobjects of the one or more computer-based systems 925, or the attributesassociated with the corresponding elements or objects. The directfeedback behaviors may therefore reveal the explicit preferences and/orintentions of the user. In the one or more computer-based systems 925,the recommendations 250 may be rated by users 200. This enables adirect, adaptive feedback loop, based on explicit preferences and/orintentions specified by the user. Direct feedback also includesuser-written comments and narratives associated with elements or objectsof the computer-based system 925.

A sixth category of process usage behaviors is known as physiologicalresponses. These responses or behaviors are associated with the focus ofattention of users and/or the intensity of the intention, or any otheraspects of the physiological responses of one or more users 200. Forexample, the direction of the visual gaze of one or more users may bedetermined. This behavior can inform inferences associated withpreferences and/or intentions or interests even when no physicalinteraction with the one or more computer-based systems 925 isoccurring. Even more direct assessment of the level of attention may beconducted through access to the brain patterns or signals associatedwith the one or more users. Such patterns of brain functions duringparticipation in a process can inform inferences on the preferencesand/or intentions or interests of users, and the intensity of thepreferences and/or intentions or interests. The brain patterns assessedmay include MRI images, brain wave patterns, relative oxygen use, orrelative blood flow by one or more regions of the brain.

Physiological responses may include any other type of physiologicalresponse of a user 200 that may be relevant for making preference orinterest inferences, independently, or collectively with the other usagebehavior categories. Other physiological responses may include, but arenot limited to, utterances, vocal range, intensity and tempo, gestures,movements, or body position. Attention behaviors may also include otherphysiological responses such as breathing rate, heart rate, temperature,blood pressure, or galvanic response.

A seventh category of process usage behaviors is known as environmentalconditions and physical location behaviors. Physical location behaviorsidentify physical location and mobility behaviors of users. The locationof a user may be inferred from, for example, information associated witha Global Positioning System or any other position or location-awaresystem or device, or may be inferred directly from location informationinput by a user (e.g., inputting a zip code or street address, orthrough an indication of location on a computer-implemented map), orotherwise acquired by the computer-based systems 925. The physicallocation of physical objects referenced by elements or objects of one ormore computer-based systems 925 may be stored for future reference.Proximity of a user to a second user, or to physical objects referencedby elements or objects of the computer-based application, may beinferred. The length of time, or duration, at which one or more usersreside in a particular location may be used to infer intensity ofinterests associated with the particular location, or associated withobjects that have a relationship to the physical location. Derivativemobility inferences may be made from location and time data, such as thedirection of the user, the speed between locations or the current speed,the likely mode of transportation used, and the like. These derivativemobility inferences may be made in conjunction with geographiccontextual information or systems, such as through interaction withdigital maps or map-based computer systems. Environmental conditions mayinclude the time of day, the weather, temperature, the configuration ofelements or objects in the surrounding physical space, lighting levels,sound levels, and any other condition of the environment around the oneor more users 200.

In addition to the usage behavior categories depicted in Table 1, usagebehaviors may be categorized over time and across user behavioralcategories. Temporal patterns may be associated with each of the usagebehavioral categories. Temporal patterns associated with each of thecategories may be tracked and stored by the one or more computer-basedsystems 925. The temporal patterns may include historical patterns,including how recently an element, object or item of content associatedwith one or more computer-based systems 925. For example, more recentbehaviors may be inferred to indicate more intense current interest thanless recent behaviors.

Another temporal pattern that may be tracked and contribute to derivepreference inferences is the duration associated with the access orinteraction with, or inferred attention toward, the elements, objects oritems of content of the one or more computer-based systems 925, or theuser's physical proximity to physical objects referenced by systemobjects of the one or more computer-based systems 925, or the user'sphysical proximity to other users. For example, longer durations maygenerally be inferred to indicate greater interest than short durations.In addition, trends over time of the behavior patterns may be capturedto enable more effective inference of interests and relevancy. Sincedelivered recommendations may include one or more elements, objects oritems of content of the one or more computer-based systems 925, theusage pattern types and preference inferencing may also apply tointeractions of the one or more users with the delivered recommendations250 themselves, including accesses of, or interactions with, explanatoryinformation regarding the logic or rationale that the one morecomputer-based systems 925 used in deciding to deliver therecommendation to the user.

Adaptive Communications Generation

In some embodiments, adaptive communications 250 c or recommendations250 may be generated for the one or more users 200 through theapplication of affinity vectors.

For example, in some embodiments, Member-Topic Affinity Vectors (MTAVs)may be generated to support effective recommendations, wherein for auser or registered member 200 of the one or more computer-based systems925 a vector is established that indicates the relative affinity (whichmay be normalized to the [0,1] continuum) the member has for one or moreobject sub-networks the member has access to. For computer-based systems925 comprising a fuzzy content network-based structural aspect, themember affinity values of the MTAV may be in respect to topic networks.

So in general, for each registered member, e.g., member M, ahypothetical MTAV could be of a form as follows:

MTAV for Member M

Topic 1 Topic 2 Topic 3 Topic 4 . . . Topic N 0.35 0.89 0.23 0.08 . . .0.14

The MTAV will therefore reflect the relative interests of a user withregard to all N of the accessible topics. This type of vector can beapplied in two major ways:

-   -   A. To serve as a basis for generating adaptive communications        250 c or recommendations 250 to the user 200    -   B. To serve as a basis for comparing the interests with one        member 200 with another member 200, and to therefore determine        how similar the two members are

In some embodiments, an expertise vector (MTEV) may be used as a basisfor generating recommendations of people with appropriately inferredlevels of expertise, rather than, or in addition to, using an MTAV as inthe exemplary examples herein. That is, the values of an MTEV correspondto inferred levels of expertise, rather than inferred levels ofinterests, as in the case of an MTAV.

To generate a MTAV or MTEV, any of the behaviors of Table 1 may beutilized. For example, in some embodiments the following examplebehavioral information may be used in generating an MTAV:

-   -   1) The topics the member has subscribed to received updates    -   2) The topics the member has accessed directly    -   3) The accesses the member has made to objects that are related        to each topic    -   4) The saves or tags the member has made of objects that are        related to each topic

This behavioral information is listed above in a generally reverse orderof importance from the standpoint of inferring member interests; thatis, access information gathered over a significant number of accesses orover a significant period of time will generally provide betterinformation than subscription information, and save information istypically more informative of interests than just accesses.

The following fuzzy network structural information may also be used togenerate MTAV values:

-   -   5) The relevancies of each content object to each topic    -   6) The number of content objects related to each topic

Personal topics that are not shared with other users 200 may be includedin MTAV calculations. Personal topics that have not been made publiclyavailable cannot be subscribed to by all other members, and so could inthis regard be unfairly penalized versus public topics. Therefore forthe member who created the personal topic and co-owners of that personaltopic, in some embodiments the subscription vector to may be set to“True,” i.e. 1. There may exist personal topics that are created by amember 200 and that have never been seen or contributed to by any othermember. This may not otherwise affect the recommendations 250 since theobjects within that personal topic may be accessible by other members,and any other relationships these objects have to other topics will becounted toward accesses of these other topics.

In some embodiments the first step of the MTAV calculation is to useinformation 1-4 above to generate the following table or set of vectorsfor the member, as depicted in the following hypothetical example:

TABLE 2 Member 1 Topic Behaviors Topic 1 Topic 2 Topic 3 Topic 4 . . . NSubscriptions 1 1 0 0 1 Topic Accesses 14 3 57 0 8 Weighted 112 55 23 643 Accesses Weighted Saves 6 8 4 0 . . . 2

The Subscriptions vector of Table 2 contains either a 1 if the memberhas subscribed to a topic or is the owner/co-owner of a personal topicor a 0 if the member has not subscribed to the topic. The Topic Accessesvector contains the number of accesses to that topic's explore page bythe member to a topic over a period of time, for example, the preceding12 months.

The Weighted Accesses vector of Table 1 contains the number of themember's (Member 1) accesses over a specified period of time of eachobject multiplied by the relevancies to each topic summed across allaccessed objects. (So for example, if Object 1 has been accessed 10times in the last 12 months by Member 1 and it is related to Topic 1 by0.8, and Object 2 has been accessed 4 times in the last 12 months byMember 1 and is related to Topic 1 at relevancy level 0.3, and these arethe only objects accessed by Member 1 that are related to Topic 1, thenTopic 1 would contain the value 10*0.8+4*0.3=9.2).

The Weighted Saves vector of Table 1 works the same way as the WeightedAccesses vector, except that it is based on Member 1's object save datainstead of access data.

In some embodiments, topic object saves are counted in addition tocontent object saves. Since a member saving a topic typically is abetter indicator of the member's interest in the topic than just savingan object related to the said topic, it may be appropriate to give more“credit” for topic saves than just content object saves. For example,when a user saves a topic object, the following process may be applied:

If the Subscriptions vector indicator is not already set to “1” for thistopic in Table 1, it is set to “1”. (The advantage of this is that evenif the topic has been saved before 12 months ago, the user will still atleast get subscription “credit” for the topic save even if they don'tget credit for the next two calculations).

In exactly the same way as a saved content object, a credit is appliedin the Weighted Accesses vector of Table 2 based on the relevancies ofother topics to the saved topic. A special “bonus” weighting in theWeighted Accesses vector of Table 2 may be applied with respect to thetopic itself using the weighting of “10”—which means a topic save isworth at least as much as 10 saves of content that are highly related tothat topic.

The next step is to make appropriate adjustments to Table 1. Forexample, it may be desirable to scale the Weighted Accesses and WeightedSaves vectors by the number of objects that is related to each topic.The result is the number of accesses or saves per object per topic. Thismay be a better indicator of intensity of interest because it is notbiased against topics with few related objects. However, per objectaccesses/saves alone could give misleading results when there are veryfew accesses or saves. So as a compromise, the formula that is appliedto each topic, e.g., Topic N, may be a variation of the following insome embodiments:

-   -   ((Weighted Accesses for Topic N)/(Objects related to Topic        N))*Square Root(Weighted Accesses for Topic N)

This formula emphasizes per object accesses, but tempers this with asquare root factor associated with the absolute level of accesses by themember. The result is a table, Table 2A, of the form:

TABLE 2A Member 1 Topic Behaviors Topic 1 Topic 2 Topic 3 Topic 4 . . .N Subscriptions 1 1 0 0 1 Topic 14 3 57 0 8 Accesses Weighted 9.1 12 3.20.6 2.3 Accesses Weighted 0.9 1.3 1.1 0 . . . 0.03 Saves

In some embodiments, the next step is to transform Table 2A into a MTAV.In some embodiments, indexing factors, such as the following may beapplied:

Topic Affinity Indexing Factors Weight Subscribe Indexing Factor 10Topic Indexing Factor 20 Accesses Indexing Factor 30 Save IndexingFactor 40

These factors have the effect of ensuring normalized MTAV values ranges(e.g. 0-1 or 0-100) and they enable more emphasis on behaviors that arelikely to provide relatively better information on member interests. Insome embodiments, the calculations for each vector of Table 1A aretransformed into corresponding Table 2 vectors as follows:

-   -   1. Table 3 Indexed Subscriptions for a topic by Member 1=Table        2A Subscriptions for a topic * Subscribe Indexing Factor    -   2. Table 3 Indexed Direct Topic Accesses by Member 1=Table 2A        Topic Accesses* Topic Indexing Factor    -   3. Table 3 Indexed Accesses for a topic by Member 1=((Table 2A        Weighted Accesses for a topic by Member 1)/(Max(Weighted        Accesses of all Topics by Member 1))) * Accesses Indexing Factor    -   4. Table 3 Indexed Saves for a topic by Member 1=((Table 2A        Weighted Saves for a topic by Member 1)/(Max(Weighted Saves of        all Topics by Member 1))) * Saves Indexing Factor        The sum of these Table 3 vectors results in the MTAV for the        associated member 200 as shown in the hypothetical example of        Table 3 below:

TABLE 3 Member 1 Indexed Topic Behaviors Topic 1 Topic 2 Topic 3 Topic 4. . . N Subscriptions 0 10 10 10 10 Topic Accesses 5 1 20 0 8 Weighted11 1 30 12 6 Accesses Weighted Saves 0 10 40 1 2 Member 1 16 22 100 23 .. . 26 MTAV

In some embodiments, member-to-member affinities can be derived bycomparing the MTAVs of a first member 200 and a second member 200.Statistical operators such as correlation coefficients may be applied toderive a sense of the distance between members in n-dimensional topicaffinity space, where there are N topics. Since different users may haveaccess to different topics, the statistical correlation for a pair ofmembers is preferentially applied against MTAV subsets that contain onlythe topics that both members have access to. In this way, amember-to-member affinity vector (MMAV) can be generated for each memberor user 200, and the most similar members, the least similar members,etc., can be identified for each member 200. In some embodiments, amember-to-member expertise vector (MMEV) may be analogously generated bycomparing the MTEVs of a pair of users 200 and applying correlationmethods.

With the MTAVs, MMAVs, and Most Similar Member information available, aset of candidate objects to be recommended can be generated inaccordance with some embodiments. These candidate recommendations may,in a later processing step, be ranked, and the highest ranked tocandidate recommendations will be delivered to the recommendationrecipient 200,260. Recall that recommendations 250 may be in-context ofnavigating the system 925 or out-of-context of navigating the system925.

Following are more details on an exemplary set of steps related togenerating out-of-context recommendations. At each step, the candidateobjects may be assessed against rejection criteria (for example, therecommendation recipient having already recently received the candidateobject may be a cause for immediate rejection) and against a maximumnumber of candidate objects to be considered.

-   -   1. Determine if there are objects that have been related to        objects at a sufficient level of relatedness that have been        “saved” by the recommendation recipient since the time the        recommendation recipient saved the object. This may be a good        choice for a first selection step because it would be expected        that such objects would be highly relevant to the recommendation        recipient.    -   2. Determine if the Most Similar Members to the recommendation        recipient have “saved” (related) objects in the last 12 months        to the recommendation recipient's highest affinity topics.    -   3. Determine if the Most Similar Members to the recommendation        recipient have rated objects at a level greater than some        threshold over some time period, that are related to the        recommendation recipient's highest affinity topics.    -   4. Determine the most frequently accessed objects by the Most        Similar Members over some period of time that are related to the        recommendation recipient's highest affinity topics.    -   5. Determine the highest influence objects that are related to        the recommendation recipient's highest affinity topics.

A variation of the out-of-context recommendation process may be appliedfor in-context recommendations, where the process places more emphasisof the “closeness” of the objects to the object being viewed ingenerating candidate recommendation objects.

For both out-of-context and in-context recommendations, a rankingprocess may be applied to the set of candidate objects, according tosome embodiments. The following is an exemplary set of input informationthat may be used to calculate rankings.

-   -   1. Editor Rating: If there is no editor rating for the object,        this value is set to a default    -   2. Community Rating (If there is no community rating for the        object, this value can be set to a default)    -   3. Popularity: Indexed popularity (e.g., number of views) of the        object.    -   4. Change in Popularity: Difference in indexed popularity        between current popularity of the object and the object's        popularity some time ago    -   5. Influence: Indexed influence of the object, where the        influence of an object is calculated recursively based on the        influence of other objects related to said object, weighted by        the degree of relationship to said object, and where the initial        setting of influence of an object is defined as its popularity.    -   6. Author's Influence: Indexed influence of the highest        influence author (based on the sum of the influences of the        author's content) of the content referenced by the object    -   7. Publish Date: Date of publication of the object    -   8. Selection Sequence Type: An indicator the sequence step in        which the candidate object was selected    -   9. Object Affinity to MTAV: The indexed vector product of the        Object-Topic Affinity Vector (OTAV) and the MTAV. The values of        the OTAV are just the affinities or relevancies between the        object and each topic, which may be derived from behavioral        and/or contents indexing processes.

A ranking is then developed based on applying a mathematical function tosome or all or input items listed directly above, and/or other inputsnot listed above. In some embodiments, user or administrator-adjustableweighting or tuning factors may be applied to the raw input values totune the object ranking appropriately. These recommendation preferencesettings may be established directly by the user, and remain persistentacross sessions until updated by the user, in some embodiments.

Some non-limiting examples of weighting factors that can be applieddynamically by a user 200 or administrator are as follows:

-   -   1. Change in Popularity (“What's Hot” factor)    -   2. Recency Factor    -   3. Object Affinity to MTAV (personalization factor)        Another example tuning factor that may be applied by a user 200        or administrator is contextual affinity, which is the degree of        affinity of the object that is providing the context for the        recommendation and its affinity to other objects, wherein the        affinities are determined by means, for example, of applying its        CTAV, or by comparison of its OCV to the OCVs of other objects.        These weighting factors could take any value (but might be        typically in the 0-5 range) and could be applied to associated        ranking categories to give the category disproportionate        weightings versus other categories. They can provide control        over how important, for example, change in popularity, freshness        of content, and an object's affinity with the member's MTAV are        in ranking the candidate objects.

The values of the weighting factors are combined with the raw inputinformation associated with an object to generate a rating score foreach candidate object. The objects can then be ranked by their scores,and the highest scoring set of X objects, where X is a defined maximumnumber of recommended objects, can be selected for deliver to arecommendation recipient 200,260. In some embodiments, scoringthresholds may be set and used in addition to just relative ranking ofthe candidate objects. The scores of the one or more recommended objectsmay also be used by the computer-based system 925 to provide to therecommendation recipient a sense of confidence in the recommendation.Higher scores would warrant more confidence in the recommendation of anobject than would lower scores.

In some embodiments other types of recommendation tuning factors may beapplied by a user 200 or administrator. For example, the scope of asocial network, such as degrees of separation, may be adjusted so as toinfluence the recommendations 250, and/or relationship types orcategories of social relationships may be selected to tunerecommendations 250. Recommendation recipients 200 or administrators mayalso or alternatively be able to restrict objects 212 representing otherspecified users 200 from being recommended, or restrict objects authoredor otherwise having an affiliation with other specified users.

In some embodiments the scope of geography or distance from a currentlocation, including, but not limited to, the expected time to travelfrom the existing location to one or more other locations, may be tunedor adjusted so as to influence recommendations 250. The expected time totravel may be a function of the actual or inferred mode oftransportation of the recommendation recipient, road conditions, trafficconditions, and/or environmental conditions such as the weather. Thespecification of scope of geography, distance, and/or time-to-travel maybe via an automated monitoring or inference of the recommendationrecipient's current location, or may be via an explicit indication oflocation by the recommendation recipient through entering a locationdesignation such as a zip code, or by indicating a location on agraphical representation of geography, for example, by indicationlocation on a computer-implemented map display.

Other tuning factors that may be applied to influence recommendations250 include the ability for the recommendation recipient to select arecommendation recipient mood or similar type of “state of mind”self-assessment that influences the generation of a recommendation. Forexample, a recommendation recipient might indicate the current state ofmind is “busy,” and less frequent and more focused recommendations 250could be generated as a consequence.

For recommendations of people, recommendation recipients 200 can tunethe recommendations 255 they receive by the degree of similarity ofinterests for one or more topics, according to some embodiments.Similarly, recommendation recipients may tune recommendations of peopleby the degree of difference in their level of expertise for one or moretopics versus other users. This can be beneficial, for example, when arecommendation recipient seeks to receive recommendations of otherpeople who have greater levels of expertise than themselves for one ormore topics, but not too much greater levels of expertise.

In some embodiments, another type of tuning that may be applied by auser or administrator relates to the degree to which the capacity forenhanced serendipity is incorporated within the recommendationgenerating function 240 of the adaptive system 100.

In some embodiments a serendipity function comprises an interest anomalyfunction that identifies contrasting affinities between a first user'sMTAV and a second user's MTAV. Situations in which the first user's MTAVand the second user's MTAV have contrasting values associated with oneor more topical areas, but wherein the two MTAVs otherwise have a higherthan typical level similarity (as determined a vector similarityfunction such as, but not limited to, cosine similarity or correlationcoefficient functions), present the opportunity for preferentiallyrecommending objects 212 with a relatively high affinity to the topicalareas associated with the contrasting MTAV affinities. Morespecifically, for two users 200 that have a relatively high level ofsimilarity based on a comparison of their entire MTAVs, if the affinityvalues of the first user's MTAV corresponding to one or more topicalareas is relatively high, and the affinity values of the second user'sMTAV corresponding to the one or more topical areas is relatively low,then one or more objects 212 with relatively high OTAV values associatedwith the one or more topical areas may be preferentially recommended tothe second user.

In some embodiments, the amount and/or quality of usage behavioralinformation on which the respective MTAV affinity values of the twousers is based may additionally influence the generated recommendation250. Specifically, in the above example, if the affinity values of thesecond user's MTAV corresponding to the one or more topical areas arerelatively low and there is relatively little behavioral information onwhich said affinity values are based, then there is even greatermotivation to recommend one or more objects 212 with relatively highOTAV values associated with the one or more topical areas to the seconduser. This is because there is incrementally greater value in learningmore about the user's interest than if the low affinities were based oninferences from a larger body of behavioral information, as well asthere being a less likelihood of providing a recommendation 250 that istruly not of interest to the user.

In some embodiments, then, a general method of generating beneficiallyserendipitous recommendations combines the contrasting of topicalaffinities among users 200 and the relative confidence levels in thetopical contrasting affinities. This approach provides a “direction” forgenerating recommendations that are further from inferred interests thatwould otherwise be generated. Besides direction, a serendipity functionmay also include a “distance” factor and a probability factor. That is,according to some embodiments generating serendipity can be thought ofas exploring other areas of a multi-dimensional interest landscape,where the best inference based on historical behavioral information is a(local) maximum on the landscape. The serendipity function can bethought of as performing a “jump” on the interest landscape, where thejump is in a specified direction, for a specified distance, andperformed with a specified frequency or probability. One or more ofthese serendipity distance, direction, and probability parameters may betunable by a user 200 or administrator in accordance with someembodiments.

In some embodiments the serendipity function may include applying adegree of randomization in addition to, or instead of, applying theinterest anomaly function. This randomization function may be appliedwhen selecting objects 212 from a set of candidate objects to berecommended to a recommendation recipient rather than simply relying ondeterministic scoring means. In such embodiments the serendipity tuningfunction can be used by a user 200 or administrator to control thedegree to which delivered recommendations 255 deviate from therecommendations that would otherwise be delivered using purelydeterministic means.

The serendipity distance may be generated in accordance with amathematical function. In some embodiments, the distance and/orprobability factors may be generated in accordance with a power lawdistribution—as a non-limiting example, the distance and/or probabilityfactors may be in accordance with a Levy Walk function.

It should be understood that other recommendation tuning controls may beprovided that are not explicitly described herein.

Knowledge and Expertise Discovery

Recall that knowledge discovery and expertise discovery refer tolearning layer functions that generate content recommendations andpeople recommendations 250, respectively.

For expertise discovery, there are at least two categories of peoplethat may be of interest to other people within a user community:

-   -   1. People who have similar interest or expertise profiles to the        recommendation recipient, which may be calculated, for example,        in accordance with MMAVs and MMEVs.    -   2. People who are likely to have the most, or complementary        levels of, expertise in specified topical areas

Expertise discovery functions deliver recommendations 250 within anavigational context of the recommendation recipient 200, or without anavigational context. In some embodiments, a person or persons may berecommended consistent with the “navigational neighborhood,” which maybe in accordance with a topical neighborhood that the recommendationrecipient 200 is currently navigating. The term “navigating” as usedherein should be understood to most generally mean the movement of theuser's 200 attention from one object 212 to another object 212 whileinteracting with, or being monitored by, a computer-implemented userinterface (wherein the user interface may be visual, audio and/orkinesthetic-based). Entering a search term, for example, is an act ofnavigating, as is browsing or scrolling through an activity stream ornews feed through use of a mouse, keyboard, and/or gesture detectionsensor.

In some embodiments expertise may be determined through a combination ofassessing the topical neighborhood in conjunction with behavioralinformation 920. The behavioral information that may be appliedincludes, but is not limited to, the behaviors and behavior categoriesin accordance with Table 1.

As a non-limiting example, an expertise score may be generated from thefollowing information in some embodiments:

-   -   1. The scope of the topical neighborhood, as described herein    -   2. The topics created by each user within the topical        neighborhood    -   3. The amount of content each user contributed in the topical        neighborhood    -   4. The popularity (which may be derived from accesses and/or        other behaviors) of the content    -   5. The ratings of the content

In some embodiments this information may be applied to generateexpertise rankings as illustrated in the following non-limiting example:

-   -   1. For each user X, sum the number of topics created by user X        in the topical neighborhood, and then normalize across all        users. Call this the T-Score of the user    -   2. For each user X, and for each content item created in a given        time period by user X in the topical neighborhood: multiply the        number of accesses (popularity) over the time period of each        content item by the average rating of the content item (if there        is no rating, set the rating to an average level). Then sum over        all content items created by the user and normalize across all        users. Call this the “C-Score” of the user.    -   3. For each user X, and for each content item modified at least        once during the time period by user X in the topical        neighborhood: multiply the number of accesses (popularity) over        the time period of each content item by the average rating of        the content item (if there is no rating, set the rating to an        average level). Then sum over all content items modified by the        user and normalize across all users. Call this “M-Score” of the        user.    -   4. Total Expertise Score of a User=Scaling        Factor1*T-Score+Scaling Factor2*C-Score+Scaling Factor3*M-Score    -   5. Find the top Total Expertise Scores and display a        recommendation of one or more users ranked by total expertise        score.

In some embodiments, user-controlled tuning or preference controls maybe provided. For example, an expertise tuning control may be appliedthat determines the scope of the navigational neighborhood of thenetwork of content that will be used in calculating the total expertisescores. The tuning controls may range, for example, from a value V of 1(broadest scope) to 5 (narrowest scope).

In some embodiments, the topical neighborhood of the currently navigatedtopic T may then defined as encompassing all content items with arelationship indicator R 718 to topic T 710 t such that R >V−1. So ifV=5, then the topical neighborhood includes just the content that has arelationship of >4 to the topic T, and so on. Expertise tuning may beeffected through a function that enables expertise breadth to beselected from a range corresponding to alternative levels of V, in someembodiments.

In some embodiments, other tuning controls may be used to adjustexpertise discovery recommendations 250 with regard to depth ofexpertise, in addition to, or instead of, breadth of expertise. Forexample, for a given navigational neighborhood, a user 200 oradministrator may be able to adjust the required thresholds of inferredexpertise for a recommendation 250 to be delivered to the recommendationrecipient 200, and/or may be able to tune the desired difference inexpertise levels between the recommendation recipient and recommendedpeople. Tuning of recommendations 250 may also be applied against atemporal dimension, so as to, for example, account for and/or visualizethe accretion of new expertise over time, and/or, for example, todistinguish long-term experts in a topical area from those with morerecently acquired expertise.

In some embodiments, the expertise discovery function may generaterecommendations 250 that are not directly based on navigational context.For example, the expertise discovery function may infer levels ofexpertise associated with a plurality of topical neighborhoods, andevaluate the levels of expertise for the topical neighborhoods bymatching an MTAV or MTEV, or other more explicit indicator of topicalexpertise demand associated with the recommendation recipient 200 and aplurality of MTEVs of other users. Positive correlations between theexpertise recommendation recipient's MTAV or topical expertise demandindicators and an MTEV, or negative correlations between the expertiserecommendation recipient's MTEV and another MTEV, are factors that mayinfluence the generation of expertise recommendations. In someembodiments, the MMAV or an expertise matching equivalent such as anMMEV of the recommendation recipient 200 may be applied by the expertisediscovery function in evaluating other users 200 to recommend.

In some embodiments recommendation recipients 200 may select a level ofexpertise desired, and the expertise discovery function evaluatesexpertise levels in specific topical neighborhoods for matches to thedesired expertise level. The recommendation recipient 200 may set theexpertise discovery function to infer his level of expertise in atopical neighborhood and to evaluate others users for a similar level ofexpertise. The inference of expertise may be performed based, at leastin part, by comparing the values of the recommendation recipient's MTEVwith the associated topics in the specified topical neighborhood.

In some embodiments expertise may be inferred from the pattern matchingof information within content. For example, if a first user 200 employswords, phrases, or terminology that has similarities to a second user200 who is inferred by the system to have a high level expertise, theneverything else being equal, the system 100 may infer the first user tohave a higher than level of expertise. In some embodiments vocabulariesthat map to specific areas and/or levels of expertise may be accessed orgenerated by the system 100 and compared to content contributed by users200 in evaluating the level of expertise of the users.

Recall that the MTEV can be generated from behavioral information,including but not limited to the behaviors 920 and behavioral categoriesdescribed in Table 1, similarly to the MTAV, except expertise isinferred rather than interests and preferences. As just one example ofthe difference in inferring an expertise value associated with a topicrather than an interest value, clicking or otherwise accessing an object212 may be indicative of a interest in the associated topic or topics,but not very informative about expertise with regard to the associatedtopic or topics. On the other hand, behaviors such as, but not limitedto, creating objects, writing reviews for objects, receiving highratings from other users with regard to created objects, beingsubscribed to by other users who have an inferred relatively high levelof expertise, creation or ownership of topics, and so on, are moreinformative of expertise levels with regard to the associated topic ortopics, and are preferentially applied in generating MTEV valuesaccording to some embodiments. Similarly to the generation of MTAVs,weights may be applied to each of multiple types of behavioral factorsin generating composite MTEV values in accordance with their expectedrelative strength of correlation with actual expertise levels.

In some embodiments a difference between the calculation method of anMTAV versus that of an MTEV is that MTAV values are indexed acrosstopic—that is, the MTAV values represent relative interest levels of auser 200 among topics, whereas MTEV values are indexed across users200—that is, the MTEV values represent relative levels of expertiseamong users 200.

In some embodiments, MTEV values may be calibrated using a benchmarkingprocess, enabling an inference of an absolute level of expertise insteadof, or in addition to, an inference of a relative level of expertiseamong users. For example, a test result or other type of expertisecalibration information may be applied that establishes a benchmarkexpertise level for a user 200 across one or more topics. Expertisecalibration means include, but are not limited to, educational proxiesfor expertise levels such as certifications, education programs, degreesattained, experience levels in a field or performing an activity, and/orcurrent or past professions. For example, a recent graduate degree in aspecific branch of mathematics would be indicative of a high level ofexpertise in that branch of mathematics, and likely a fairly high levelof expertise in mathematical topics in general. The expertisecalibration information may be available to the recommendation function240 through a user's self-profiling behavior, or may be accessed throughother means.

The inferred MTEV values for the benchmarked user can then be used as abasis for indexing the inferred MTEV values of other users 200. Thisapproach can be beneficial because an inferred expertise level that iscalibrated against a benchmark level can enable the generation of moreeffective recommendations, particularly with regard to the generation ofrecommendations of content and/or topics. Whereas for recommendations ofexpertise (e.g., recommendations of other users), a purely relativeexpertise levels may be sufficient for generating usefulrecommendations, the process of generating recommendations of content ortopics can often benefit from having a greater sense of absolute levelsof expertise. This is particularly the case when the recommendationfunction 240 has access to information that is suggestive of the levelsof expertise for which potentially recommended content or topics areappropriate. Information that is suggestive of the levels of expertisefor which an object 212 will be most appropriate may be acquired by therecommendation function 240 through access to an explicit indication,such as, for example, through and expertise level indication withinmeta-information 712 associated with an object 212,710, or therecommendation function 240 may assess the expertise levels for which anobject 212 would be most appropriate through inferences from the contentor information 232 within the object.

In some embodiments, the recommendation function 240 combines one ormore MTAVs with one or more MTEVs in generating a recommendation255,265. For example, first, the MTAV of a recommendation recipient maybe used by the recommendation function 240 to determine the one or moretopics of highest interest to the recommendation recipient. Therecommendation function may then compare the recommendation recipient'sMTEV to the MTEVs of other users to identify one or more of the topicsof highest interest for which the recommendation recipient has a lowerlevel of expertise (or more generally, a complementary level ofexpertise) compared to one or more other users. The one or more otherusers whose MTEVs satisfy this condition are then candidates forrecommending to the recommendation recipient. Another example ofcombining MTAV and MTEV information in generating a recommendation255,265 is first identifying the one or more topics of highest interestto the recommendation recipient, and then using the recommendationrecipient's MTEV to recommend content or topics that are consistent withthe MTEV values associated with the highest interest topics. Where therecommendation function 240 is able to assess the levels of expertisefor which an item of content or topic are appropriate, those levels ofexpertise can be compared against the corresponding MTEV values andserve as at least one factor in the recommendation function users indeciding whether to recommend the item of content to the recommendationrecipient.

Inferences of levels of expertise can be informed by collaborativebehaviors with regard to other users 200 who are inferred to have givenlevels of expertise. In some embodiments users 200 are automaticallyclustered or segmented into levels of inferred expertise. Often, levelsof expertise cluster—that is, people with similar levels of expertisepreferentially collaborate, a tendency which can be beneficially used bythe expertise inferencing function. A recursive method may be appliedthat establishes an initial expertise clustering or segmentation, whichin conjunction with collaborative and other behaviors, enablesinferences of expertise of these and other users not already clustered,which then, in turn, enables adjustments to the expertise clusters, andso on.

Inferences of expertise that are embodied within an MTEV may be informedby the contents of objects associated with a user 200, in accordancewith some embodiments. For example, the use, and/or frequency of use, ofcertain words or phrases may serve as a cue for level of expertise. Moretechnical or domains-specific language, as informed by, for example, aword or phrase frequency table, would be indicative of level ofexpertise in a field. Other expertise cues include punctuation—questionmarks, everything else being equal, are more likely to be indicative ofless expertise.

In some embodiments, when a recommendation of expertise in topicalneighborhoods or for one or more specific topics is required, theselected topics are compared to user MTEVs to determine the bestexpertise match to the selected topics. For example, a specific projectmay require expertise in certain topical areas. These selected topicalareas are then compared to MTEVs to determine the users with be mostappropriate level of expertise for the project.

In some embodiments, the selected topics for which expertise is desiredmay be weighted, and the weighted vector of selected topics is comparedto the corresponding topical expertise values in user MTEVs—positivecorrelations between the weighted vector of selected topics and theMTEVs of other users are preferentially identified. Mathematicalfunctions are applied to determine the best expertise fit in theweighted selected topic case or the un-weighted selected topic case.

In some embodiments, the behaviors of users within one or more expertisesegments or clusters are assessed over a period of time after an eventassociated with one or more topical areas. The event, embodied as anobject 212, could, for example correspond to a condition identified byanother user or be identified and communicated by a device. Thepost-event behaviors assessed for expertise cohorts may then form thebasis for recommended content, people, and/or process steps to bedelivered to users 200 when the same or similar event occurs in thefuture. These event-specific recommendations 250 may be tempered by anassessment of the recommendation recipient's MMEV such that ifrelatively high levels of expertise are inferred relative to the eventor related topics, then “best practice” process step recommendations 250derived from the post-event behaviors associated with the highestexpertise cohort may be recommended. If relatively lower levels ofexpertise are inferred relative to the event or related topics, thenprocess step recommendations 250 derived with the highest expertisecohort may be supplemented with, for example, additional educational orverification steps.

Recommendation Explanation Generation

In addition to delivering a recommendation 250 of an object 212, thecomputer-based application 925 may deliver a corresponding explanation250 c of why the object was recommended. This can be very valuable tothe recommendation recipient 200 because it may give the recipient abetter sense of whether to bother to read or listen to the recommendedcontent (or in the case of a recommendation of another user 200 whetherto, for example, contact them), prior to committing significant amountof time. For recommendations 250 that comprise advertising content, theexplanation may enhance the persuasiveness of the ad.

The explanations 250 c may be delivered through any computer-implementedmeans, including, but not limited to delivery modes in which therecommendation recipient can read and/or listen to the recommendation.

In some embodiments, variations of the ranking factors previouslydescribed may be applied in triggering explanatory phrases. For example,the following table illustrates how the ranking information can beapplied to determine both positive and negative factors that can beincorporated within the recommendation explanations. Note that theRanking Value Range is the indexed attribute values before multiplyingby special scaling factors, Ranking Category Weighting Factors, such asthe “What's Hot” factor, etc.

TABLE 2E 2 4 5 Ranking 3 1^(st) 2^(nd) 6 1 Value Trans- PositivePositive Negative Ranking Range formed Thres- Thres- Thres- Category(RVR) Range hold hold hold Editor  0-100 RVR 60 80 20 Rating Community 0-100 RVR 70 80 20 Rating* Popularity  0-100 RVR 70 80 10 Change in−100-100   RVR 30 50 −30 Popularity Object  0-100 RVR 50 70 5 InfluenceAuthor's  0-100 RVR 70 80 .01 Influence Publish −Infinity- 100- 80 90 35Date 0 RVR Object  0-100 RVR 50 70 20 Affinity to MTAV

An exemplary process that can be applied to generate explanations basedon positive and negative thresholds listed in 2E is as follows:

Step 1: First Positive Ranking Category—subtract the 1^(st) PositiveThreshold column from the Transformed Range column and find the maximumnumber of the resulting vector (may be negative). The associated RankingCategory will be highlighted in the recommendation explanation.

Step 2: Second Positive Ranking Category—subtract the 2^(nd) PositiveThreshold column from the Transformed Range column and find the maximumnumber of the resulting vector. If the maximum number is non-negative,and it is not the ranking category already selected, then include thissecond ranking category in the recommendation explanation.

Step 3: First Negative Ranking Category—subtract the Negative Thresholdcolumn from the Transformed Range column and find the minimum number ofthe resulting vector. If the minimum number is non-positive this rankingcategory will be included in the recommendation explanation as a caveat,otherwise there will be no caveats.

Although two positive and one negative thresholds are illustrated inthis example, an unlimited number of positive and negative thresholdsmay be applied as required for best results.

In some embodiments explanations 250 c are assembled from componentphrases and delivered based on a syntax template or function. Followingis an example syntax that guides the assembly of an in-contextrecommendation explanation. In the syntactical structure below phraseswithin { } are optional depending on the associated logic andcalculations, and “+” means concatenating the text strings. Otherdetailed syntactical logic such as handling capitalization is not shownin this simple illustrative example.

{[Awareness  Phrase  (if  any)]} + {[Sequence  Number  Phrase  (if  any)] + [Positive  Conjunction]} +   [1^(st)  Positive  Ranking  Category  Phrase] + {[Positive  Conjunction] +   [2^(nd)  Positive  Ranking  Category  Phrase  (if  any)]} + {[Negative  Conjunction] + [Negative  Ranking  Category  Phrase  (if  any)]} + {[Suggestion  Phrase  (if  any)]}

The following section provides some examples of phrase tables or arraysthat may be used as a basis for selecting appropriate phrases for arecommendation explanation syntax. Note that in the following tables,when there are multiple phrase choices, they are selectedprobabilistically. “NULL” means that a blank phrase will be applied. [ ]indicates that this text string is a variable that can take differentvalues.

System Awareness Phrases

Trigger Condition Phrase Apply these phrase 1) I noticed thatalternatives if any of 2) I am aware that the 4 Sequence 3) I realizedthat Numbers was triggered 4) NULL

Out-of-Context Sequence Number Phrases

Trigger Condition Phrase Sequence 1 1) other members have related [thisobject] to [saved object name], which you have saved, Sequence 2 1)members with similar interests to you have saved [this object] Sequence3 1) members with similar interests as you have rated [this object]highly 2) Members that have similarities with you have found [thisobject] very useful Sequence 4 1) [this object] is popular with membersthat have similar interests to yours 2) Members that are similar to youhave often accessed [this object] Note: [this object] = “this‘content-type’” (e.g., “this book”) or “it” depending on if the phrase“this ‘content-type’” has already been used once in the explanation.

Positive Ranking Category Phrases

Trigger Category Phrase Editor Rating 1) [it] is rated highly by theeditor Community Rating* 1) [it] is rated highly by other membersPopularity** 1) [it] is very popular Change in Popularity 1) [it] hasbeen rapidly increasing in popularity Object Influence 1) [it] is[quite] influential Author's 1) the author is [quite] influentialInfluence 2) [author name] is a very influential author Publish Date 1)it is recently published Object Affinity 1) [it] is strongly alignedwith your interests to MTAV 2) [it] is related to topics such as [topicname] (1) that you find interesting 3) [it] is related to topics inwhich you have an interest 4) [it] contains some themes related totopics in which you have an interest Object Affinity 5) I know you havean interest in [topic name] to MTAV 6) I am aware you have an interestin [topic (2) name] 7) I have seen that you are interested in [topicname] 8) I have noticed that you have a good deal of interest in [topicname]

Positive Conjunctions

Phrase 1) and

Negative Ranking Category Phrases

Trigger Category Phrase Editor Rating 1) it is not highly rated by theeditor Community Rating 1) it is not highly rated by other membersPopularity 1) it is not highly popular Change 1) it has been recentlydecreasing in popularity in Popularity Object Influence 1) it is notvery influential Author's 1) the author is not very influentialInfluence 2) [author name] is not a very influential author Publish 1)it was published some time ago Date 2) it was published in [PublishYear] Object Affinity 1) it may be outside your normal area of to MTAVinterest 2) I'm not sure it is aligned with your usual interest areas

Negative Conjunctions

Phrase 1), although 2), however 3), but

Suggestion Phrases (use Only if no Caveats in Explanation)

Phrase 1), so I think you will find it relevant 2), so I think you mightfind it interesting 3), so you might want to take a look at it 4), so itwill probably be of interest to you 5), so it occurred to me that youwould find it of interest 6), so I expect that you will find it thoughtprovoking 7) NULL

The above phrase array examples are simplified examples to illustratethe approach. In practice, multiple syntax templates, accessingdifferent phrase arrays, with each phrase array many different phrasesand phrase variations are required to give the feel of human-likeexplanations. These example phrase arrays are oriented towardrecommendations based on recommendation recipient interests as encodedin MTAVs; for recommendations related to the expertise of other users asencoded, for example, in MTEVs, explanation syntactical rules and phrasearrays tailored for that type of recommendation are applied. In someembodiments, explanatory syntactical rules and phrases are applied thatare consistent with explanations of recommendations that are generatedin accordance with both an MTAV and MTEV.

As mentioned above, a sense of confidence of the recommendation to therecommendation recipient can also be communicated within therecommendation explanation. The score level may contribute to theconfidence level, but some other general factors may be applied,including the amount of usage history available for the recommendationrecipient on which to base preference inferences and/or the inferredsimilarity of the user with one or more other users for which there is abasis for more confident inferences of interests or preferences. Thecommunication of a sense of confidence in the recommendation can beapplied to recommendations with regard to expertise, as well asinterest-based recommendations. The degree of serendipity incorporatedby the serendipity function may be communicated 250 c to the user, andmay influence the communication and related syntax and/or phrasesapplied in the communication 250 c, as well as affect the communicationof the degree of confidence in a recommendation.

In some embodiments, a recommendation explanation may reference a tuningfactor and its setting. For example, if a user has set a recency tuningfactor so as to slant the recommendations 255 toward recommendingobjects 212 that have been recently published, the explanation maycontain words or phrases to the effect that acknowledge that arecommended object is in accordance with that setting. Or, for example,if a person is recommended in accordance with an expertise scope levelset by the recommendation recipient 200, the explanation might referencethat setting as a justification for its recommendation (oralternatively, the explanation might acknowledge a tuning setting butindicate why other factors over-rode the setting in generating theexplantation). For example, an exemplary recommendation explanation inthis case is, “Although Jim Smith's expertise does not appear to be thedeepest in subject x, I infer that he has significant breadth ofexpertise in related subjects, and you have directed me to emphasizebreadth of expertise.”

Recommendation explanations are one type of behavioral-basedcommunications 250 c that the one or more computer-based applications925 may deliver to users 200. Other types of adaptive communications 250c may be delivered to a user 200 without necessarily being inconjunction with the recommendation of an object or item of content. Forexample, a general update of the activities of other users 200 and/orother trends or activities related to people or content may becommunicated.

Adaptive communications 250 c may also include contextual information inaccordance with some embodiments. For example, contextual informationmay be provided to assist a user 200 in navigating the structural aspect210,210D of an adaptive system 100,100D. Contextual information mayadditionally or alternatively include information related to thestructure of originating systems 620,660 that have been transformed intoa fuzzy network-based structural aspect 210D.

One example of contextual information that may be communicated to theuser 200 is the scope of the navigational neighborhood associated withthe structural aspect 210D of an adaptive system 100D and/or thestructure of one or more originating systems 620,660.

Another example of contextual information within an adaptivecommunication 250 c relates to the cross-contextualization between atransformed structure 210D and the structure of an originating system620,660. For example the adaptive communication 250 c may include anindication to the user 200 that is navigating within a specific positionwithin the structural aspect 210D of an adaptive system 100D theequivalent navigational position within one or more originating systems620,660. The specific navigational position in the adaptive system 100Don which cross-contextualization is based can be a topic or a specificitem of content, for example.

The adaptive communications 250 c may include references to hierarchicalstructures—for example, it may be communicated to the user that a topicis the parent of, or sibling to, another topic. Or for a fuzzynetwork-based structure, the strength of the relationships among topicsand content may be communicated.

In some embodiments, adaptive communications 250 c may includeexplanations of recommended objects 212 in which the explanationsinclude references to words, phrases, concepts, and/or themes that areincluded within, or derived from, the contents of OCVs that areassociated with the objects 212. For example, the explanation mayindicate to the recommendation recipient that a recommended object 212is inferred to emphasize themes that are aligned with topics that areinferred to be of high interest to the recommendation recipient or whichare appropriate for the recommendation recipient's inferred level ofexpertise on one or more topics.

Adaptive communications 250 c may also comprise one or more phrases thatcommunicate an awareness of behavioral changes in the user 200 overtime, and inferences thereof. These behavioral changes may be derived,at least in part, from an evaluation of changes in the user's MTAVand/or MTEV values over time. In some cases, these behavioral patternsmay be quite subtle and may otherwise go unnoticed by the user 200 ifnot pointed out by the computer-based system 925. Furthermore, the oneor more computer-based systems may infer changes in interests orpreferences, or expertise, of the user 200 based on changes in theuser's behaviors over time. The communications 250 c of these inferencesmay therefore provide the user 200 with useful insights into changes inhis interest, preferences, tastes, and over time. This same approach canalso be applied by the one or more computer-based systems to deliverinsights into the inferred changes in interests, preferences, tastesand/or expertise associated with any user 200 to another user 200. Theseinsights, packaged in an engaging communications 250 c, can simulatewhat is sometimes referred to as “a theory of mind” in psychology.

The adaptive communications 250 ci n general may apply a syntacticalstructure and associated probabilistic phrase arrays to generate theadaptive communications in a manner similar to the approach describedabove to generate explanations for recommendations. The phrasetendencies of the adaptive communications 250 c over a number ofgenerated communications can be said to constitute a “personality”associated with the one or more computer-based applications 925. Thenext section describes how in some embodiments of the personality canevolve and adapt over time, based at least in part, on the behaviors ofthe communication recipients 200.

Adaptive Personalities

FIG. 9 is a flow diagram of the computer-based adaptive personalityprocess 1000 in accordance with some embodiments of the presentinvention. A user request for a communication 1010 initiates a function1020 that determines the syntactical structure of the communication 250c to the user 200. The communication 250 c to user 200 may be anadaptive recommendation 250, an explanation associated with arecommendation, or any other type of communication to the user. Thecommunication 250 c may be, for example, in a written and/or anaudio-based format.

In accordance with the syntactical structure that is determined 1020 forthe communication, one or more phrases are probabilistically selected1030 based on frequency distributions 3030 associated with an ensembleof phrases to generate 1040 a communication 930 to the user.

User behaviors 920, which may include those described by Table 1 herein,are then evaluated 1050 after receipt of the user communication. Based,at least in part, on these evaluations 1050, the frequency distributions3030 of one or more phrases that may be selected 1030 for future usercommunications are then updated 1060. For example, if the usercommunication 250 ci s an explanation associated with an adaptiverecommendation 250, and it is determined that the recommendationrecipient reads the corresponding recommended item of content, then therelative frequency of selection of the one or more phrases comprisingthe explanation of the adaptive recommendation 250 might bepreferentially increased versus other phrases that were not included inthe user communication. Alternatively, if the communication 250 celicited one or more behaviors 920 from the communication recipient 200that were indicative of indifference or a less than positive reaction,then the relative frequency of selection of the one or more phrasescomprising the communication might be preferentially decreased versusother phrases that were not included in the user communication.

In FIG. 11, an illustrative data structure 3000 supporting the adaptivepersonality process 1000 according to some embodiments is shown. Thedata structure may include a designator for a specific phrase array3010. A phrase array may correspond to a specific unit of the syntax ofan overall user communication. Each phrase array may contain one or morephrases 3040, indicated by a specific phrase ID 3020. Associated witheach phrase 3040 is a selection frequency distribution indicator 3030.In the illustrative data structure 3000 this selection frequencydistribution of phrases 3040 in a phrase array 3010 is based on therelative magnitude of the value of the frequency distribution indicator.In other embodiments, other ways to provide selection frequencydistributions may be applied. For example, phrases 3040 may be selectedper a uniform distribution across phrase instances in a phrase array3010, and duplication of phrase instances may be used to as a means toadjust selection frequencies.

Communication of Self-Awareness

FIG. 10 is a flow diagram of the computer-based adaptive self-awarenesscommunication process 2000 in accordance with some embodiments of thepresent invention. The process 2000 begins with an evaluation 2010 ofphrase frequency distribution 3030 changes over time. Then theappropriate syntactical structure of the communication 250 c ofself-awareness is determined 2020. One or more phrases 3040 that embodya sense of self-awareness are then selected in accordance with thesyntactical structure requirements and changes in phrase frequencydistributions over time.

Returning to FIG. 11, in some embodiments, phrase attributes that areassociated with specific phrases may be used as a basis for self-awarephrase selection. Two example phrase attributes 3050, 3060 whose valuesare associated with specific phrases 3040 are shown. An unlimited numberof attributes could be used as to provide as nuanced a level ofself-awareness as desired.

When changes in phrase frequency distributions 3030 are evaluated 2010,the corresponding attributes 3050, 3060 are also evaluated. Theseattributes map to attributes 4050, 4060 that are associated withself-aware phrases 4040 in self-aware phrase data structure 4000. Forexample, if phrases 4040 that have the attribute value “humorous” havebeen increasing in frequency, then self-aware phrases that reference“humorous” may be appropriate to include in generating 2040 acommunication of self-awareness 250 c to a user 200. As is the case ofany other communication 250 c, the behaviors 920 of the recipient 200 ofthe communication may be evaluated 2050, and the self-aware phrasefrequency distributions 4030 of the self-aware phrases 4040 may beupdated 2060 accordingly. This recursive evaluation and updating ofphrase frequency distributions can be applied without limit.

FIG. 12 depicts the major functions associated with a computer basedsystem 925 that exhibits an adaptive personality, and optionally, aself-aware personality. Recall that in some embodiments, thecomputer-based system 925 comprises an adaptive system 100.

A request 6000 for a communication to a user 200 is made. The request6000 may be a direct request from a user 200, or the request may be madeby another function of the computer-based system 925. In someembodiments the request 6000 for a communication to the user may beinitiated by a function that generates 240 an adaptive recommendation. Acommunication to the user is then generated 7000. This generation isperformed by first determining the appropriate syntactical rules orstructure 7500 for the communication. In some embodiments, the syntaxrules 7500 are of an “If some condition, Then apply a specific phrasearray 3010” structure. Once the appropriate syntax is established andassociated phrase arrays 3010 are determined, specific phrases areprobabilistically retrieved from the phrase array function 5000 based onselection frequency distributions associated with the correspondingphrase arrays. The communication 250 ci s then assembled and deliveredto a user 200.

User behaviors 920 of the communication recipient 200 are then monitored8000. Based on inferences from these behaviors 920, the phrase arrayfrequency distributions of the phrase array function 5000 are updated9000 appropriately.

Computing Infrastructure

FIG. 13 depicts various processor-based computer hardware and networktopologies on which the one or more of the computer-based applications925, and by extension, adaptive system 100, may be embodied and operate.One or more processors of the computing hardware may be configured toexecute the computer-based applications 925 individually orcollectively.

Servers 950, 952, and 954 are shown, perhaps residing at differentphysical locations, and potentially belonging to different organizationsor individuals. A standard PC workstation 956 is connected to the serverin a contemporary fashion, potentially through the Internet. It shouldbe understood that the workstation 956 can represent any processor-baseddevice, mobile or fixed, including a set-top box. In this instance, theone or more computer-based applications 925, in part or as a whole, mayreside on the server 950, but may be accessed by the workstation 956. Aterminal or display-only device 958 and a workstation setup 960 are alsoshown. The PC workstation 956 or servers 950 may embody, or be connectedto, a portable processor-based device (not shown), such as a mobiletelephony device, which may be a mobile phone or a personal digitalassistant (PDA). The mobile telephony device or PDA may, in turn, beconnected to another wireless device such as a telephone or a GPSreceiver. As just one non-limiting example, the mobile device may be agesture-sensitive “smart phone,” wherein gestures or other physiologicalresponses are monitored, either through actual physical contact betweenthe device and a user or without physical contact, by means of, forexample, a touch screen and/or through a camera, or other sensorapparatus. The sensor apparatus may include devices for monitoring brainpatterns and/or other physiological processes and conditions. The sensorapparatus may operate within a human body, in accordance with someembodiments. The mobile device may include hardware and/or software thatenable it to be location-aware, and may embody a camera and/or sensorsthat enable the monitoring of environmental conditions such as weather,temperature, lighting levels, moisture levels, sound levels, and so on.

FIG. 13 also features a network of wireless or other portable devices962. The one or more computer-based applications 925 may reside, in partor as a whole, on all of the devices 962, periodically or continuouslycommunicating with the central server 952, as required. A workstation964 connected in a peer-to-peer fashion with a plurality of othercomputers is also shown. In this computing topology, the one or morecomputer-based applications 925, as a whole or in part, may reside oneach of the peer computers 964.

Computing system 966 represents a PC or other computing system, whichconnects through a gateway or other host in order to access the server952 on which the one or more computer-based applications 925, in part oras a whole, reside. An appliance 968 includes software “hardwired” intoa physical device, or may utilize software running on another systemthat does not itself host the one or more computer-based applications925, such as in the case a gaming console or personal video recorder.The appliance 968 is able to access a computing system that hosts aninstance of one of the relevant systems, such as the server 952, and isable to interact with the instance of the system.

The processor-based systems on which the one or more computer-basedapplications 925 operate may include hardware and/or software such ascameras that enable monitoring of physiological responses or conditionssuch as gestures, body movement, gaze, heartbeat, brain waves,temperature, blood composition, and so on. The processor-based systemsmay include sensors that enable sensing of environmental conditions suchas weather conditions, lighting levels, physical objects in thevicinity, and so on.

While the present invention has been described with respect to a limitednumber of embodiments, those skilled in the art will appreciate numerousmodifications and variations therefrom. It is intended that the appendedclaims cover all such modifications and variations as fall within thescope of this present invention.

What is claimed is:
 1. A computer-implemented method, comprising:matching automatically information that is within a plurality ofcomputer-implemented content objects, wherein the matching is performedby application of a computer-implemented neural network; evaluatingautomatically the plurality of computer-implemented content objects,wherein the evaluating is based upon user behavioral information;generating automatically a plurality of computer-implemented topics inaccordance with the matching of the information and the evaluating ofthe plurality of computer-implemented content objects; generatingautomatically affinities among the computer-implemented topics inaccordance with the matching of the information and the evaluating ofthe plurality of computer-implemented content objects; and generatingautomatically a recommendation for delivery to a user, wherein therecommendation is based on the plurality of computer-implemented topicsand the affinities among the computer-implemented topics.
 2. The methodof claim 1, further comprising: matching automatically the informationthat is within the plurality of computer-implemented content objects,wherein the information comprises text.
 3. The method of claim 1,further comprising: matching automatically the information that iswithin a plurality of computer-implemented content objects, wherein theinformation comprises images.
 4. The method of claim 1, furthercomprising: matching automatically the information that is within theplurality of computer-implemented content objects, wherein the matchingis based upon an inference of an expertise level.
 5. The method of claim1, further comprising: evaluating automatically the plurality ofcomputer-implemented content objects, wherein the evaluating is basedupon an expertise level that is inferred from the user behavioralinformation.
 6. The method of claim 1, further comprising: generatingautomatically the recommendation for delivery to the user, wherein therecommendation is further based on affinities among the plurality of thecomputer-implemented topics and the plurality of content objects.
 7. Themethod of claim 1, further comprising: generating a communication thatcomprises an explanation for the recommendation, wherein the explanationreferences an expertise level.
 8. A computer-implemented systemcomprising one or more processor-based devices configured to: matchautomatically information that is within a plurality ofcomputer-implemented content objects, wherein the match is performed byapplication of a computer-implemented neural network; evaluateautomatically the plurality of computer-implemented content objects,wherein the evaluation is based upon user behavioral information;generate automatically a plurality of computer-implemented topics inaccordance with the match of the information and the evaluation of theplurality of computer-implemented content objects; generateautomatically affinities among the computer-implemented topics inaccordance with the match of the information and the evaluation of theplurality of computer-implemented content objects; and generateautomatically a recommendation for delivery to a user, wherein therecommendation is based on the plurality of computer-implemented topicsand the affinities among the computer-implemented topics.
 9. The systemof claim 8, further comprising the one or more processor-based devicesconfigured to: match automatically the information that is within theplurality of computer-implemented content objects, wherein theinformation comprises text.
 10. The system of claim 8, furthercomprising the one or more processor-based devices configured to: matchautomatically the information that is within the plurality ofcomputer-implemented content objects, wherein the information comprisesimages.
 11. The system of claim 10, further comprising the one or moreprocessor-based devices configured to: match automatically theinformation that is within the plurality of computer-implemented contentobjects, wherein the information comprises the images, wherein theimages are elements of videos.
 12. The system of claim 8, furthercomprising the one or more processor-based devices configured to:evaluate automatically the plurality of computer-implemented contentobjects, wherein the evaluation is based upon an expertise level that isinferred from the user behavioral information.
 13. The system of claim8, further comprising the one or more processor-based devices configuredto: generate automatically the recommendation for delivery to the user,wherein the recommendation is further based on affinities among theplurality of the computer-implemented topics and the plurality ofcontent objects.
 14. The system of claim 8, further comprising the oneor more processor-based devices configured to: generating acommunication that comprises an explanation for the recommendation,wherein the explanation references an expertise level.
 15. Acomputer-implemented system comprising one or more processor-baseddevices configured to: match automatically information that is within aplurality of computer-implemented content objects, wherein the match isperformed by application of a computer-implemented neural network;evaluate automatically the plurality of computer-implemented contentobjects, wherein the evaluation is based upon user behavioralinformation; generate automatically a plurality of computer-implementedtopics in accordance with the match of the information and theevaluation of the plurality of computer-implemented content objects;generate automatically affinities among a plurality of users of thecomputer-implemented system and the computer-implemented topics inaccordance with the match of the information and the evaluation of theplurality of computer-implemented content objects; and generateautomatically a recommendation for delivery to a user, wherein therecommendation is based on the plurality of computer-implemented topicsand the affinities among the plurality of users of thecomputer-implemented system and the computer-implemented topics.
 16. Thesystem of claim 15, further comprising the one or more processor-baseddevices configured to: match automatically the information that iswithin the plurality of computer-implemented content objects, whereinthe information comprises text.
 17. The system of claim 15, furthercomprising the one or more processor-based devices configured to: matchautomatically the information that is within the plurality ofcomputer-implemented content objects, wherein the information comprisesimages.
 18. The system of claim 15, further comprising the one or moreprocessor-based devices configured to: match automatically theinformation that is within the plurality of computer-implemented contentobjects, wherein the information comprises content that is published byusers of the computer-implemented system.
 19. The system of claim 15,further comprising the one or more processor-based devices configuredto: generate automatically the affinities among the plurality of usersof the computer-implemented system and the computer-implemented topicsbased upon automatic inferences of user preferences from the userbehavioral information.
 20. The system of claim 15, further comprisingthe one or more processor-based devices configured to: generateautomatically the affinities among the plurality of users of thecomputer-implemented system and the computer-implemented topics basedupon automatic inferences of expertise levels from the user behavioralinformation.